CVE-2026-53426
WysokieCVSS 8.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący bez uwierzytelnienia może wysłać złośliwy dokument JSON, który spowoduje denial-of-service (DoS) całego węzła Erlanga, zatrzymując wszystkie procesy na nim działające. Dotyczy to każdej aplikacji przetwarzającej niezaufane dane przez MDEx.parse_document/2 ze źródłem {:json, json}.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę mdex do wersji 0.13.2 lub nowszej. Jeśli aktualizacja nie jest możliwa, należy ograniczyć dostęp do funkcji MDEx.parse_document/2 dla niezaufanych danych lub zastosować walidację rozmiaru i struktury dokumentów JSON.
Inne podatności w MDEx
Zobacz wszystkie- CVE-2026-53428Średnie
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.
- 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ść.
- 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.
Oryginalny opis (angielski, źródło NVD)
Allocation of Resources Without Limits or Throttling vulnerability in leandrocp MDEx allows Excessive Allocation. MDEx.parse_document/2 accepts a {:json, json} source. In lib/mdex.ex, the private json_to_node/1 function passes the attacker-controlled node_type value to Module.concat/1, which calls String.to_atom/1 and interns a brand-new atom for every distinct value. Atoms are never garbage collected on the BEAM, so a crafted JSON document carrying a unique node_type at each (deeply nested) node mints one permanent atom per node. A single document can intern hundreds of thousands of atoms, and a large enough document exhausts the default atom table (around 1,048,576 atoms) and aborts the entire Erlang VM, taking down every process on the node. Any application that passes untrusted input to the {:json, ...} source of MDEx.parse_document is exposed to an unauthenticated denial-of-service. This issue affects mdex from 0.4.3 before 0.13.2.

