CVE-2026-54888

MEDIUMPre-NVD 6.96.9
EchelonGraph scoreMEDIUM confidence

This medium-severity CVE scores 6.9 under a secondary CVSS source (NVD's own analysis pending). EPSS exploit probability: 0.2%, top 94% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).

Triggered by: NVD CVSS baseline
Sources: epss, secondary
Elevated
6.9
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 6.9Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

Uncontrolled Recursion vulnerability in leandrocp mdex allows denial of service via deeply nested Markdown input.

mdex converts between an Elixir %MDEx.Document{} struct and Comrak's internal AST using two mutually recursive Rust functions, ex_document_to_comrak_ast and comrak_ast_to_ex_document, in the NIF source file document.rs. Neither function enforces a maximum nesting depth, so the recursion depth is bounded only by the structure of the input. An attacker who can get a Markdown document rendered (for example through MDEx.parse_document!/1 or MDEx.to_html/1) can supply a document with thousands of nested block quotes, which drives unbounded recursion across the NIF boundary and exhausts the native C stack.

Because the resulting stack overflow is an uncatchable SIGSEGV raised inside a NIF, it cannot be contained by the Erlang runtime. It terminates the operating system process running the BEAM, killing every Elixir and Erlang process on the node, not just the caller that triggered the render. No authentication or special privileges are required.

The vulnerable conversion code was extracted from mdex into the separate mdex_native package starting in mdex 0.12.3. This issue affects mdex from 0.3.0 before 0.12.3 and mdex_native from 0.1.0 before 0.2.3.

CVSS v3
6.9
EG Score
6.9(medium)
EPSS
6.4%
KEV
Not listed

Published

June 29, 2026

Last Modified

June 30, 2026

Advisory Details (4)

Auto-updated Jun 29, 2026
🔬 Proof of concept available. Patch available. Sources: github, github_commit.
github_commit

commit 947696c47bc2 (leandrocp/mdex_native)

Fix landed in leandrocp/mdex_native commit 947696c47bc2 — awaiting tagged release

https://github.com/leandrocp/mdex_native/commit/947696c47bc22bea5dffc0f78c946fa6b70ce183
generic

OSV - Open Source Vulnerabilities

https://osv.dev/vulnerability/EEF-CVE-2026-54888
generic

Uncontrolled recursion over deeply nested Markdown crashes the BEAM in mdex | Erlang Ecosystem Foundation CNA

https://cna.erlef.org/cves/CVE-2026-54888.html
github Patch Available🟡 PoC Available

Uncontrolled recursion over attacker-shaped AST causes native stack overflow · Advisory · leandrocp/mdex_native · GitHub

https://github.com/leandrocp/mdex_native/security/advisories/GHSA-3w4f-53g2-f66p

Affected Packages

(2 across 1 ecosystem)
Hex(2)
PackageVulnerable rangeFixed inDependents
mdex0.10.0 ... 0.9.4 (42 versions)0.12.3
mdex_native0.1.0 ... 0.2.2 (9 versions)0.2.3

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 19× in last 7d / 32× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-11 13:41 UTCEG score recompute
  2. 2026-07-11 08:27 UTCEPSS rescore
  3. 2026-07-11 08:27 UTCEPSS rescore
  4. 2026-07-10 14:15 UTCEG score recompute
  5. 2026-07-09 19:10 UTCEPSS rescore
  6. 2026-07-09 19:10 UTCEPSS rescore
  7. 2026-07-09 14:40 UTCEG score recompute
  8. 2026-07-08 15:16 UTCEPSS rescore
  9. 2026-07-08 15:16 UTCEPSS rescore
  10. 2026-07-08 15:11 UTCEG score recompute
  11. 2026-07-07 15:45 UTCEG score recompute
  12. 2026-07-07 13:46 UTCEPSS rescore
  13. 2026-07-07 13:46 UTCEPSS rescore
  14. 2026-07-06 16:27 UTCEPSS rescore
  15. 2026-07-06 16:27 UTCEPSS rescore
  16. 2026-07-06 15:45 UTCEG score recompute
  17. 2026-07-06 02:23 UTCEPSS rescore
  18. 2026-07-06 02:23 UTCEPSS rescore
  19. 2026-07-05 16:18 UTCEG score recompute
  20. 2026-07-05 02:31 UTCEPSS rescore
  21. 2026-07-05 02:30 UTCEPSS rescore
  22. 2026-07-04 16:49 UTCEG score recompute
  23. 2026-07-04 06:31 UTCEPSS rescore
  24. 2026-07-04 06:31 UTCEPSS rescore
  25. 2026-07-03 17:19 UTCEG score recompute
Show 7 more
  1. 2026-07-02 17:53 UTCEG score recompute
  2. 2026-07-01 18:26 UTCEG score recompute
  3. 2026-07-01 15:07 UTCEPSS rescore
  4. 2026-06-30 23:22 UTCEPSS rescore
  5. 2026-06-30 19:00 UTCEG score recompute
  6. 2026-06-29 19:33 UTCEG score recompute
  7. 2026-06-29 19:32 UTCMITRE cvelistV5first tracked

Frequently asked(5)

What is CVE-2026-54888?
CVE-2026-54888 is a medium vulnerability published on June 29, 2026. Uncontrolled Recursion vulnerability in leandrocp mdex allows denial of service via deeply nested Markdown input. mdex converts between an Elixir %MDEx.Document{} struct and Comrak's internal AST using two mutually recursive Rust functions, exdocumenttocomrakast and comrakasttoexdocument, in the…
When was CVE-2026-54888 disclosed?
CVE-2026-54888 was first published in the National Vulnerability Database on June 29, 2026, with the most recent update on June 30, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-54888 actively exploited?
CVE-2026-54888 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 6.4% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-54888?
CVE-2026-54888 has a CVSS v3 base score of 6.9 (NVD).
How do I remediate CVE-2026-54888?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-54888, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-54888

Explore →

Is Your Infrastructure Affected by CVE-2026-54888?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.