EEF-CVE-2026-53426

Source
https://cna.erlef.org/osv/EEF-CVE-2026-53426.html
Import Source
https://cna.erlef.org/osv/EEF-CVE-2026-53426.json
JSON Data
https://api.osv.dev/v1/vulns/EEF-CVE-2026-53426
Aliases
  • CVE-2026-53426
  • GHSA-923r-7vf4-5vw8
Published
2026-06-29T19:11:32.605Z
Modified
2026-06-29T19:26:31.226470565Z
Severity
  • 8.2 (High) CVSS_V4 - CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H CVSS Calculator
Summary
Atom-table exhaustion denial-of-service via JSON parse_document in MDEx
Details

Summary

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.

Workaround

Do not pass untrusted or attacker-controlled input to the {:json, ...} source of MDEx.parse_document/2. The {:markdown, ...} source is not affected.

Database specific
{
    "cpe_ids": [
        "cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*"
    ],
    "cwe_ids": [
        "CWE-770"
    ],
    "capec_ids": [
        "CAPEC-130"
    ]
}
References
Credits
    • Peter Ullrich - FINDER
    • Leandro Pereira - REMEDIATION_DEVELOPER
    • Jonatan Männchen / EEF - ANALYST

Affected packages

Hex / mdex

Package

Name
mdex
Purl
pkg:hex/mdex

Affected ranges

Type
SEMVER
Events
Introduced
0.4.3
Fixed
0.13.2

Affected versions

0.*
0.4.3
0.5.0
0.6.0
0.6.1
0.6.2
0.7.0
0.7.1
0.7.2
0.7.3
0.7.4
0.7.5
0.8.0
0.8.1
0.8.2
0.8.3
0.8.4
0.8.5
0.8.6
0.9.0
0.9.1
0.9.2
0.9.3
0.9.4
0.10.0
0.11.0
0.11.1
0.11.2
0.11.3
0.11.4
0.11.5
0.11.6
0.11.7
0.12.0
0.12.1
0.12.2
0.12.3
0.12.4
0.12.5
0.13.0
0.13.1

Database specific

source
"https://cna.erlef.org/osv/EEF-CVE-2026-53426.json"

Git / github.com/leandrocp/mdex

Affected ranges

Type
GIT
Repo
https://github.com/leandrocp/mdex
Events

Affected versions

v0.*
v0.10.0
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.11.6
v0.11.7
v0.12.0
v0.12.1
v0.12.2
v0.12.3
v0.12.4
v0.12.5
v0.13.0
v0.13.1
v0.4.3
v0.5.0
v0.6.0
v0.6.1
v0.6.2
v0.7.0
v0.7.1
v0.7.2
v0.7.3
v0.7.4
v0.7.5
v0.8.0
v0.8.1
v0.8.2
v0.8.3
v0.8.4
v0.8.5
v0.8.6
v0.9.0
v0.9.1
v0.9.2
v0.9.3
v0.9.4

Database specific

source
"https://cna.erlef.org/osv/EEF-CVE-2026-53426.json"