CVE-2026-53428
ŚrednieCVSS 6.9Streszczenie
Podatność w bibliotece mdex i mdex_native pozwala nieuwierzytelnionemu atakującemu na przeprowadzenie ataku DoS poprzez nieograniczoną alokację pamięci. Funkcja parse_highlight_lines w komponencie LumisAdapter rozszerza zakres linii z bloku kodu bez kontroli górnego limitu, co prowadzi do alokacji ogromnych wektorów. Wystarczy przesłać Markdown z zakresem 1-2000000000, aby wyczerpać pamięć hosta i zatrzymać proces BEAM.
Ocena ryzyka
Organizacja narażona jest na całkowitą odmowę usługi (DoS) w procesie renderowania Markdown, co może uniemożliwić działanie aplikacji wykorzystujących MDEx.to_html/2, np. systemów komentarzy, czatów lub wiki.
Rekomendacja
Należy natychmiast zaktualizować mdex do wersji 0.12.3 lub nowszej, a mdex_native do wersji 0.2.3 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć możliwość przesyłania Markdown przez nieuwierzytelnionych użytkowników.
Inne podatności w mdex
Zobacz wszystkie- CVE-2026-54889Średnie
Podatność XSS w bibliotece mdex dla Elixira pozwala atakującemu na wstrzyknięcie kodu JavaScript poprzez nieprawidłową walidację schematów URL w przetwarzaniu Markdown do Quill Delta. Atakujący może umieścić złośliwy link z schematem javascript: w tekście Markdown, który zostanie bez zmian skopiowany do atrybutu Delta, a następnie wykonany w przeglądarce ofiary po renderowaniu do HTML.
- CVE-2026-54888Średnie
Podatność w bibliotece mdex (oraz mdex_native) umożliwia atak DoS poprzez dostarczenie głęboko zagnieżdżonego dokumentu Markdown. Rekurencyjne funkcje konwertujące nie sprawdzają maksymalnej głębokości, co prowadzi do przepełnienia stosu C i awarii całego węzła BEAM.
- CVE-2026-53429Średnie
W bibliotekach mdex i mdex_native wykryto podatność polegającą na braku zwalniania pamięci po zakończeniu jej użytkowania. Atakujący może wysłać dokument zawierający znaczniki escaped-tag, co powoduje trwały wyciek pamięci w natywnym kodzie renderującym (Rust NIF). Każde renderowanie takiego dokumentu prowadzi do nieograniczonego wzrostu zużycia pamięci, aż do wyczerpania zasobów i awarii procesu BEAM.
- CVE-2026-53426Wysokie
Podatność w bibliotece MDEx dla Elixira/Erlanga pozwala na wyczerpanie tablicy atomów poprzez przetworzenie specjalnie spreparowanego dokumentu JSON. Funkcja json_to_node/1 tworzy nowe atomy dla każdej unikalnej wartości node_type, które nie są usuwane przez garbage collector, co prowadzi do awarii całej maszyny wirtualnej BEAM.
- CVE-2026-53427Niskie
W bibliotece MDEx wykryto podatność na ataki XSS (stored i reflected) poprzez nieprawidłową neutralizację danych wejściowych w Markdown. Atakujący może wstrzyknąć dowolny kod HTML/JavaScript, który wykona się w przeglądarce każdego użytkownika wyświetlającego przetworzoną treść.
Oryginalny opis (angielski, źródło NVD)
Memory Allocation with Excessive Size Value vulnerability in leandrocp mdex allows an unauthenticated attacker to cause a denial of service through unbounded memory allocation. comrak_nif::lumis_adapter::LumisAdapter::parse_highlight_lines in native/comrak_nif/src/lumis_adapter.rs eagerly expands a user-controlled inclusive line range from a fenced code block's highlight_lines decorator into a Vec<usize>, pushing one element per integer in the range with no upper bound on the range size. An attacker who can supply Markdown that an application renders with MDEx.to_html/2 (for example a comment, chat message, or wiki page) can embed a code block whose info string is rust highlight_lines="1-100000000", forcing the native adapter to allocate roughly 8 bytes per line in the range. A payload that differs by only a few bytes can therefore allocate hundreds of megabytes, and a sufficiently large range (for example 1-2000000000) exhausts host memory and aborts the BEAM, denying service to every user of the rendering process. The per-line write loop additionally tests membership with a linear scan over the same vector, degrading rendering to a quadratic cost even for ranges that do not immediately exhaust memory. The vulnerable native code originally shipped inside mdex (in native/comrak_nif/src/lumis_adapter.rs) and was later extracted into the separate mdex_native package (native/mdex_native_nif/src/lumis_adapter.rs), where it remains unpatched. This issue affects mdex from 0.11.0 before 0.12.3, and mdex_native from 0.1.0 before 0.2.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

