CVE-2026-41148
ŚrednieCVSS 5.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 26 - wyżej niż 26% wszystkich znanych CVE
Streszczenie
Podatność CSS injection w Mermaid do wersji 10.9.5 oraz 11.0.0-alpha.1 do 11.12.0. Nieprawidłowe sanityzacja w parserze createCssStyles pozwala na wstrzyknięcie CSS, co może prowadzić do defacementu strony, śledzenia użytkownika lub wycieku atrybutów DOM.
Ocena ryzyka
Atakujący może zmienić wygląd strony, śledzić użytkowników za pomocą callbacków url() lub wyciec atrybuty DOM, co może naruszyć prywatność i integralność strony.
Rekomendacja
Należy zaktualizować Mermaid do wersji 10.9.6 lub 11.15.0. Jeśli aktualizacja nie jest możliwa, ustaw securityLevel na "sandbox".
Inne podatności w Mermaid
Zobacz wszystkie- CVE-2026-71439Średnie
Mermaid to narzędzie JavaScript, które używa tekstu inspirowanego Markdown do tworzenia i modyfikowania diagramów. Od wersji 11.6.0 do 11.16.1 diagramy radarowe Mermaid pozwalają na dowolnie duże wartości parametru ticks, co może powodować wysokie zużycie procesora i zawieszenie strony lub procesu JavaScript na długi czas, potencjalnie aż do wyczerpania pamięci. Problem został naprawiony w wersji 11.16.1.
- CVE-2026-71438Niskie
Mermaid przed wersjami 10.9.8 i 11.16.1 ma podatność na zanieczyszczenie prototypu przez konfigurację dostarczaną przez aplikację do setterów konfiguracyjnych. Diagramy nie są podatne.
- CVE-2026-71437Średnie
Mermaid to narzędzie JavaScript, które używa tekstu inspirowanego Markdown do tworzenia i modyfikowania diagramów. Od wersji 11.5.0 do 11.16.1 diagramy architektury Mermaid są podatne na zanieczyszczenie prototypu, gdy diagram definiuje grupę o identyfikatorze __proto__. Ponieważ identyfikator grupy jest używany bezpośrednio jako klucz właściwości obiektu bez walidacji, atakujący, który może dostarczyć tekst diagramu, może zanieczyścić Object.prototype, potencjalnie wpływając na zachowanie aplikacji osadzającej. Problem został naprawiony w wersji 11.16.1.
- CVE-2026-71436Średnie
Mermaid to narzędzie JavaScript, które używa tekstu inspirowanego Markdown do tworzenia i modyfikowania diagramów. Od wersji 10.6.0 do 10.9.8 i 11.16.1, wykresy XY w Mermaid są podatne na nieskończoną pętlę prowadzącą do odmowy usługi w funkcji setXAxisRangeData podczas konfigurowania osi X z nieprawidłowymi parametrami. Ponieważ każda iteracja pętli dodaje element do tablicy, zwykle powoduje to pojawienie się błędu RangeError po kilku sekundach, ale może zamiast tego spowodować awarię strony lub procesu JavaScript z powodu wyczerpania pamięci, w zależności od środowiska. Problem został naprawiony w wersjach 10.9.8 i 11.16.1.
- CVE-2026-50159Średnie
Mermaid to narzędzie JavaScript, które używa tekstu inspirowanego Markdown do tworzenia i modyfikowania diagramów i wykresów. Przed wersjami 10.9.8 i 11.16.1 Mermaid jest podatny na wstrzykiwanie CSS przez selektory kombinowane rodzeństwa generowane z nazw klas lub identyfikatorów dostarczanych przez diagram. Atakujący, który może dostarczyć tekst diagramu, może wstrzyknąć dowolny CSS do wyrenderowanej strony, potencjalnie zmieniając wygląd lub zachowanie niepowiązanych elementów strony. Problem naprawiono w wersjach 10.9.8 i 11.16.1.
- CVE-2026-41159Średnie
Mermaid, narzędzie JavaScript do tworzenia diagramów, zawiera podatność na wstrzykiwanie CSS w domyślnej konfiguracji przed wersjami 10.9.6 i 11.15.0. Poprzez opcje fontFamily, themeCSS i altFontFamily można wstrzyknąć CSS, który omija automatyczne zakreskowanie #mermaid-xxx, umożliwiając modyfikację wyglądu strony i eksfiltrację atrybutów DOM za pomocą selektorów :has().
- CVE-2026-41150Średnie
Mermaid przed wersjami 10.9.6 i 11.15.0 jest podatny na atak odmowy usługi podczas renderowania wykresów Gantta, jeśli użyto atrybutu excludes do wykluczenia wszystkich dat.
- CVE-2026-41149Średnie
W Mermaid do wersji 10.9.5 oraz od 11.0.0-alpha.1 do 11.14.0 występuje podatność na wstrzykiwanie HTML w domyślnej konfiguracji. Dyrektywa classDef w diagramach stanu Mermaid umożliwia wstrzykiwanie DOM poza kontekst SVG, choć znaczniki <script> są usuwane, co zapobiega XSS.
Oryginalny opis (angielski, źródło NVD)
Mermaid is a JavaScript tool that uses Markdown-inspired text to create and modify diagrams and charts. Versions 10.9.5 and prior, in addition to 11.0.0-alpha.1 through 11.12.0 are vulnerable to CSS injection through improper sanitization. The state diagram (and any other diagram type that routes user-controlled style strings through the createCssStyles parser) captures classDef values using an unrestricted regex that matches everything up to a newline. That value then flows unsanitized through addStyleClass() into createCssStyles() and is assigned to style.innerHTML, so a closing brace (}) in the value terminates the generated CSS selector and turns everything after it into a new CSS rule on the page. This enables page defacement, user tracking via url() callbacks, and DOM attribute exfiltration. This issue has been fixed in versions 10.9.6 and 11.15.0. If developers are unable to immediately upgrade, they can work around this issue by setting "securityLevel": "sandbox", which prevents the issue by rendering the mermaid diagram in a sandboxed <iframe>.

