CVE-2026-54889
ŚrednieCVSS 5.1Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 23 — wyżej niż 23% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości wykonania dowolnego kodu JavaScript w przeglądarce użytkownika, co może prowadzić do kradzieży sesji, przejęcia konta lub wycieku danych wrażliwych. Podatność dotyczy wersji od 0.8.3 do 0.13.1.
Rekomendacja
Należy natychmiast zaktualizować bibliotekę mdex do wersji 0.13.2 lub nowszej, która zawiera poprawkę walidacji schematów URL. Jeśli aktualizacja nie jest możliwa, należy zastosować dodatkową walidację URL-i po stronie renderera Delta.
Oryginalny opis (angielski, źródło NVD)
Improper Neutralization of Input During Web Page Generation (XSS) vulnerability in leandrocp mdex allows cross-site scripting via unsanitized URL schemes in Quill Delta output. 'Elixir.MDEx':to_delta/2 converts Markdown into a Quill Delta. 'Elixir.MDEx.DeltaConverter':default_convert_node/3 in lib/mdex/delta_converter.ex copies the URL of a link, wikilink, or image node directly from the parsed Markdown into the Delta "link" or "image" attribute without applying a scheme allowlist or any normalization. An attacker who controls the Markdown text can supply a javascript: URL (for example [click](javascript:alert(document.cookie))) that survives verbatim into the Delta attribute. When the Delta is rendered to HTML by a downstream renderer (such as quill-delta-to-html or the Quill client), the attribute becomes an <a href> or <img src>, and the javascript: scheme executes in the browser of anyone who views the rendered content. The link and wikilink cases are the strongest vectors because javascript: in an href executes on click; the image case is lower impact because javascript: in <img src> generally does not execute in modern browsers. This issue affects mdex: from 0.8.3 before 0.13.2.

