{"id":"CVE-2026-53428","summary":"Unbounded memory allocation in highlight_lines range expansion in mdex","details":"Memory Allocation with Excessive Size Value vulnerability in leandrocp mdex allows an unauthenticated attacker to cause a denial of service through unbounded memory allocation.\n\ncomrak_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\u003cusize\u003e, 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.\n\nA 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.\n\nThe 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.\n\nThis issue affects mdex from 0.11.0 before 0.12.3, and mdex_native from 0.1.0 before 0.2.3.","aliases":["EEF-CVE-2026-53428","GHSA-j93q-9cvj-rxfm"],"modified":"2026-07-15T01:48:58.330693319Z","published":"2026-06-29T18:52:36.199Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53428.json","unresolved_ranges":[{"extracted_events":[{"introduced":"a8407611715d1ead35fbcba79c72cef1b7df387b"},{"fixed":"6ed94d905f97af188323f042698ae841c02293b4"},{"introduced":"956528c5e31746253347029e810a969ab916fd27"},{"fixed":"798a363b4339f6f7162ec8437c4c9f9b5ae6fbf3"}],"source":"AFFECTED_FIELD"}],"cna_assigner":"EEF","cwe_ids":["CWE-789"]},"references":[{"type":"WEB","url":"https://cna.erlef.org/cves/CVE-2026-53428.html"},{"type":"WEB","url":"https://github.com"},{"type":"WEB","url":"https://osv.dev/vulnerability/EEF-CVE-2026-53428"},{"type":"WEB","url":"https://repo.hex.pm"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/53xxx/CVE-2026-53428.json"},{"type":"ADVISORY","url":"https://github.com/leandrocp/mdex_native/security/advisories/GHSA-j93q-9cvj-rxfm"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-53428"},{"type":"FIX","url":"https://github.com/leandrocp/mdex_native/commit/798a363b4339f6f7162ec8437c4c9f9b5ae6fbf3"},{"type":"PACKAGE","url":"https://github.com/leandrocp/mdex"},{"type":"PACKAGE","url":"https://github.com/leandrocp/mdex_native"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/leandrocp/mdex","events":[{"introduced":"711877566dced6aa7a98a0609cf6c5cbc8971644"},{"fixed":"2cb9eb2f6014414b40c8f1e5d5181b9692626c38"}],"database_specific":{"extracted_events":[{"introduced":"0.11.0"},{"fixed":"0.12.3"}],"source":"AFFECTED_FIELD"}},{"type":"GIT","repo":"https://github.com/leandrocp/mdex_native","events":[{"introduced":"0"},{"fixed":"b6caf84e9dd035654ed7e8955086ab37afdaa7a0"},{"fixed":"798a363b4339f6f7162ec8437c4c9f9b5ae6fbf3"}],"database_specific":{"extracted_events":[{"introduced":"0.1.0"},{"fixed":"0.2.3"}],"source":["DESCRIPTION","REFERENCES"]}}],"versions":["v0.12.2","v0.12.1","v0.12.0","v0.11.7","v0.11.6","v0.11.5","v0.11.4","v0.11.3","v0.11.2","v0.11.1","v0.11.0","v0.2.2","v0.2.1","v0.2.0","v0.1.5","v0.1.4","v0.1.3","v0.1.2","v0.1.1"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-53428.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H"}]}