Read the docs
TI-2026-38510 Aliases CVE-2026-53428

Unbounded memory allocation in highlight_lines range expansion in mdex

Priority LOW 30CWE-789Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
Present
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-789.

Summary

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00185 8th percentileScored 2026-11-07
Fix Fixed mdex (leandrocp): 0.12.3mdex_native (leandrocp): 0.2.3

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
leandrocpmdex0.11.0 to before 0.12.30.12.3Patch availableCNA
leandrocpmdex_native0.1.0 to before 0.2.30.2.3Patch availableCNA
  • mdex Vendorleandrocp Affected 0.11.0 to before 0.12.3 Fixed in 0.12.3 Patch available CNA
  • mdex_native Vendorleandrocp Affected 0.1.0 to before 0.2.3 Fixed in 0.2.3 Patch available CNA

CPE names CNA · 2

CPEVersionsRoleVendor
cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*——leandrocp
cpe:2.3:a:leandrocp:mdex_native:*:*:*:*:*:*:*:*——leandrocp
  • cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:* Versions — — ·leandrocp
  • cpe:2.3:a:leandrocp:mdex_native:*:*:*:*:*:*:*:* Versions — — ·leandrocp

Remediation

  • Fix · CNA mdex (leandrocp) Fixed in 0.12.3
  • Fix · CNA mdex_native (leandrocp) Fixed in 0.2.3

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    leandrocp mdex, mdex_native 0.12.3, 0.2.3, 6ed94d905f97af188323f042698ae841c02293b4

    4 records Highest priority Priority MEDIUM 2 MEDIUM, 2 LOW

    Other records, highest priority first

    • TI-2026-39661 Uncontrolled recursion over deeply nested Markdown crashes the BEAM in mdexPriority MEDIUM 64
    • TI-2026-38511 Unbounded native memory leak in mdex escaped-tag rendering enables unauthenticated denial of servicePriority MEDIUM 64
    • TI-2026-38509 Cross-site scripting in MDEx via unescaped highlight_lines_class code-fence attributePriority LOW 13
  • Release ·

    leandrocp mdex_native 798a363b4339f6f7162ec8437c4c9f9b5ae6fbf3

    2 records Highest priority Priority LOW 2 LOW

    Other records, highest priority first

    • TI-2026-38509 Cross-site scripting in MDEx via unescaped highlight_lines_class code-fence attributePriority LOW 13

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-53428

References

  • TI-2026-39661 Uncontrolled recursion over deeply nested Markdown crashes the BEAM in mdex CVSS 4.0MEDIUM 6.9
  • TI-2026-38511 Unbounded native memory leak in mdex escaped-tag rendering enables unauthenticated denial of service CVSS 4.0MEDIUM 6.9
  • TI-2026-39662 Unsanitized URL schemes in MDEx Quill Delta output allow javascript: injection (XSS) CVSS 4.0MEDIUM 5.1
  • TI-2026-38508 Atom-table exhaustion denial-of-service via JSON parse_document in MDEx CVSS 4.0HIGH 8.2
  • TI-2026-38509 Cross-site scripting in MDEx via unescaped highlight_lines_class code-fence attribute CVSS 4.0LOW 2.3

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences