CVE-2026-53426 (GCVE-0-2026-53426)
Vulnerability from cvelistv5 – Published: 2026-06-29 19:11 – Updated: 2026-06-30 04:38
VLAI
Title
Atom-table exhaustion denial-of-service via JSON parse_document in MDEx
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.
Severity
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator (v2.0.3)
CWE
- CWE-770 - Allocation of Resources Without Limits or Throttling
Assigner
References
4 references
| URL | Tags |
|---|---|
| https://github.com/leandrocp/mdex/security/adviso… | vendor-advisoryrelated |
| https://cna.erlef.org/cves/CVE-2026-53426.html | related |
| https://osv.dev/vulnerability/EEF-CVE-2026-53426 | related |
| https://github.com/leandrocp/mdex/commit/00fddf44… | patch |
Impacted products
Credits
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-53426",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-06-29T20:49:38.921685Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-06-29T20:49:48.817Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.MDEx\u0027"
],
"packageName": "mdex",
"packageURL": "pkg:hex/mdex",
"product": "mdex",
"programFiles": [
"lib/mdex.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.MDEx\u0027:parse_document/2"
},
{
"name": "\u0027Elixir.MDEx\u0027:json_to_node/1"
}
],
"repo": "https://github.com/leandrocp/mdex",
"vendor": "leandrocp",
"versions": [
{
"lessThan": "0.13.2",
"status": "affected",
"version": "0.4.3",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.MDEx\u0027"
],
"packageName": "leandrocp/mdex",
"packageURL": "pkg:github/leandrocp/mdex",
"product": "mdex",
"programFiles": [
"lib/mdex.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.MDEx\u0027:parse_document/2"
},
{
"name": "\u0027Elixir.MDEx\u0027:json_to_node/1"
}
],
"repo": "https://github.com/leandrocp/mdex",
"vendor": "leandrocp",
"versions": [
{
"lessThan": "00fddf444220a1f1cc0af0a1cab6738804878387",
"status": "affected",
"version": "cbb59a3f792dbc343873adec3466f49c853dc309",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.13.2",
"versionStartIncluding": "0.4.3",
"vulnerable": true
}
],
"negate": false,
"operator": "AND"
}
],
"operator": "OR"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Peter Ullrich"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Leandro Pereira"
},
{
"lang": "en",
"type": "analyst",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in leandrocp MDEx allows Excessive Allocation.\u003c/p\u003e\u003cp\u003e\u003ctt\u003eMDEx.parse_document/2\u003c/tt\u003e accepts a \u003ctt\u003e{:json, json}\u003c/tt\u003e source. In \u003ctt\u003elib/mdex.ex\u003c/tt\u003e, the private \u003ctt\u003ejson_to_node/1\u003c/tt\u003e function passes the attacker-controlled \u003ctt\u003enode_type\u003c/tt\u003e value to \u003ctt\u003eModule.concat/1\u003c/tt\u003e, which calls \u003ctt\u003eString.to_atom/1\u003c/tt\u003e 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 \u003ctt\u003enode_type\u003c/tt\u003e at each (deeply nested) node mints one permanent atom per node.\u003c/p\u003e\u003cp\u003eA 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 \u003ctt\u003e{:json, ...}\u003c/tt\u003e source of \u003ctt\u003eMDEx.parse_document\u003c/tt\u003e is exposed to an unauthenticated denial-of-service.\u003c/p\u003e\u003cp\u003eThis issue affects mdex from 0.4.3 before 0.13.2.\u003c/p\u003e"
}
],
"value": "Allocation of Resources Without Limits or Throttling vulnerability in leandrocp MDEx allows Excessive Allocation.\n\nMDEx.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.\n\nA 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.\n\nThis issue affects mdex from 0.4.3 before 0.13.2."
}
],
"impacts": [
{
"capecId": "CAPEC-130",
"descriptions": [
{
"lang": "en",
"value": "CAPEC-130 Excessive Allocation"
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "LOCAL",
"baseScore": 8.2,
"baseSeverity": "HIGH",
"privilegesRequired": "NONE",
"subAvailabilityImpact": "HIGH",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "NONE"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-770",
"description": "CWE-770 Allocation of Resources Without Limits or Throttling",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-06-30T04:38:27.190Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/leandrocp/mdex/security/advisories/GHSA-923r-7vf4-5vw8"
},
{
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-53426.html"
},
{
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-53426"
},
{
"tags": [
"patch"
],
"url": "https://github.com/leandrocp/mdex/commit/00fddf444220a1f1cc0af0a1cab6738804878387"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Atom-table exhaustion denial-of-service via JSON parse_document in MDEx",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eDo not pass untrusted or attacker-controlled input to the \u003ctt\u003e{:json, ...}\u003c/tt\u003e source of \u003ctt\u003eMDEx.parse_document/2\u003c/tt\u003e. The \u003ctt\u003e{:markdown, ...}\u003c/tt\u003e source is not affected.\u003c/p\u003e"
}
],
"value": "Do not pass untrusted or attacker-controlled input to the {:json, ...} source of MDEx.parse_document/2. The {:markdown, ...} source is not affected."
}
],
"x_generator": {
"engine": "cvelib 1.8.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-53426",
"datePublished": "2026-06-29T19:11:32.605Z",
"dateReserved": "2026-06-09T11:01:47.529Z",
"dateUpdated": "2026-06-30T04:38:27.190Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2026-53426",
"date": "2026-06-30",
"epss": "0.00126",
"percentile": "0.02666"
},
"nvd": "{\"cve\":{\"id\":\"CVE-2026-53426\",\"sourceIdentifier\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"published\":\"2026-06-29T20:17:38.473\",\"lastModified\":\"2026-06-30T14:14:35.520\",\"vulnStatus\":\"Deferred\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"Allocation of Resources Without Limits or Throttling vulnerability in leandrocp MDEx allows Excessive Allocation.\\n\\nMDEx.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.\\n\\nA 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.\\n\\nThis issue affects mdex from 0.4.3 before 0.13.2.\"}],\"affected\":[{\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"affectedData\":[{\"vendor\":\"leandrocp\",\"product\":\"mdex\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://repo.hex.pm\",\"packageName\":\"mdex\",\"cpes\":[\"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*\"],\"modules\":[\"\u0027Elixir.MDEx\u0027\"],\"programFiles\":[\"lib/mdex.ex\"],\"programRoutines\":[{\"name\":\"\u0027Elixir.MDEx\u0027:parse_document/2\"},{\"name\":\"\u0027Elixir.MDEx\u0027:json_to_node/1\"}],\"repo\":\"https://github.com/leandrocp/mdex\",\"packageURL\":\"pkg:hex/mdex\",\"versions\":[{\"version\":\"0.4.3\",\"lessThan\":\"0.13.2\",\"versionType\":\"semver\",\"status\":\"affected\"}]},{\"vendor\":\"leandrocp\",\"product\":\"mdex\",\"defaultStatus\":\"unaffected\",\"collectionURL\":\"https://github.com\",\"packageName\":\"leandrocp/mdex\",\"cpes\":[\"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*\"],\"modules\":[\"\u0027Elixir.MDEx\u0027\"],\"programFiles\":[\"lib/mdex.ex\"],\"programRoutines\":[{\"name\":\"\u0027Elixir.MDEx\u0027:parse_document/2\"},{\"name\":\"\u0027Elixir.MDEx\u0027:json_to_node/1\"}],\"repo\":\"https://github.com/leandrocp/mdex\",\"packageURL\":\"pkg:github/leandrocp/mdex\",\"versions\":[{\"version\":\"cbb59a3f792dbc343873adec3466f49c853dc309\",\"lessThan\":\"00fddf444220a1f1cc0af0a1cab6738804878387\",\"versionType\":\"git\",\"status\":\"affected\"}]}]}],\"metrics\":{\"cvssMetricV40\":[{\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"4.0\",\"vectorString\":\"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X\",\"baseScore\":8.2,\"baseSeverity\":\"HIGH\",\"attackVector\":\"LOCAL\",\"attackComplexity\":\"LOW\",\"attackRequirements\":\"NONE\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"NONE\",\"vulnConfidentialityImpact\":\"NONE\",\"vulnIntegrityImpact\":\"NONE\",\"vulnAvailabilityImpact\":\"HIGH\",\"subConfidentialityImpact\":\"NONE\",\"subIntegrityImpact\":\"NONE\",\"subAvailabilityImpact\":\"HIGH\",\"exploitMaturity\":\"NOT_DEFINED\",\"confidentialityRequirement\":\"NOT_DEFINED\",\"integrityRequirement\":\"NOT_DEFINED\",\"availabilityRequirement\":\"NOT_DEFINED\",\"modifiedAttackVector\":\"NOT_DEFINED\",\"modifiedAttackComplexity\":\"NOT_DEFINED\",\"modifiedAttackRequirements\":\"NOT_DEFINED\",\"modifiedPrivilegesRequired\":\"NOT_DEFINED\",\"modifiedUserInteraction\":\"NOT_DEFINED\",\"modifiedVulnConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedVulnIntegrityImpact\":\"NOT_DEFINED\",\"modifiedVulnAvailabilityImpact\":\"NOT_DEFINED\",\"modifiedSubConfidentialityImpact\":\"NOT_DEFINED\",\"modifiedSubIntegrityImpact\":\"NOT_DEFINED\",\"modifiedSubAvailabilityImpact\":\"NOT_DEFINED\",\"Safety\":\"NOT_DEFINED\",\"Automatable\":\"NOT_DEFINED\",\"Recovery\":\"NOT_DEFINED\",\"valueDensity\":\"NOT_DEFINED\",\"vulnerabilityResponseEffort\":\"NOT_DEFINED\",\"providerUrgency\":\"NOT_DEFINED\"}}],\"ssvcV203\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"ssvcData\":{\"timestamp\":\"2026-06-29T20:49:38.921685Z\",\"id\":\"CVE-2026-53426\",\"options\":[{\"exploitation\":\"none\"},{\"automatable\":\"no\"},{\"technicalImpact\":\"partial\"}],\"role\":\"CISA Coordinator\",\"version\":\"2.0.3\"}}]},\"weaknesses\":[{\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-770\"}]}],\"references\":[{\"url\":\"https://cna.erlef.org/cves/CVE-2026-53426.html\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://github.com/leandrocp/mdex/commit/00fddf444220a1f1cc0af0a1cab6738804878387\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://github.com/leandrocp/mdex/security/advisories/GHSA-923r-7vf4-5vw8\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"},{\"url\":\"https://osv.dev/vulnerability/EEF-CVE-2026-53426\",\"source\":\"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\"}]}}",
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-53426\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-06-29T20:49:38.921685Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-06-29T20:49:45.132Z\"}}], \"cna\": {\"title\": \"Atom-table exhaustion denial-of-service via JSON parse_document in MDEx\", \"source\": {\"discovery\": \"EXTERNAL\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"finder\", \"value\": \"Peter Ullrich\"}, {\"lang\": \"en\", \"type\": \"remediation developer\", \"value\": \"Leandro Pereira\"}, {\"lang\": \"en\", \"type\": \"analyst\", \"value\": \"Jonatan M\\u00e4nnchen / EEF\"}], \"impacts\": [{\"capecId\": \"CAPEC-130\", \"descriptions\": [{\"lang\": \"en\", \"value\": \"CAPEC-130 Excessive Allocation\"}]}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV4_0\": {\"version\": \"4.0\", \"baseScore\": 8.2, \"attackVector\": \"LOCAL\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"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\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"NONE\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"NONE\", \"subAvailabilityImpact\": \"HIGH\", \"vulnAvailabilityImpact\": \"HIGH\", \"subConfidentialityImpact\": \"NONE\", \"vulnConfidentialityImpact\": \"NONE\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"cpes\": [\"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*\"], \"repo\": \"https://github.com/leandrocp/mdex\", \"vendor\": \"leandrocp\", \"modules\": [\"\u0027Elixir.MDEx\u0027\"], \"product\": \"mdex\", \"versions\": [{\"status\": \"affected\", \"version\": \"0.4.3\", \"lessThan\": \"0.13.2\", \"versionType\": \"semver\"}], \"packageURL\": \"pkg:hex/mdex\", \"packageName\": \"mdex\", \"programFiles\": [\"lib/mdex.ex\"], \"collectionURL\": \"https://repo.hex.pm\", \"defaultStatus\": \"unaffected\", \"programRoutines\": [{\"name\": \"\u0027Elixir.MDEx\u0027:parse_document/2\"}, {\"name\": \"\u0027Elixir.MDEx\u0027:json_to_node/1\"}]}, {\"cpes\": [\"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*\"], \"repo\": \"https://github.com/leandrocp/mdex\", \"vendor\": \"leandrocp\", \"modules\": [\"\u0027Elixir.MDEx\u0027\"], \"product\": \"mdex\", \"versions\": [{\"status\": \"affected\", \"version\": \"cbb59a3f792dbc343873adec3466f49c853dc309\", \"lessThan\": \"00fddf444220a1f1cc0af0a1cab6738804878387\", \"versionType\": \"git\"}], \"packageURL\": \"pkg:github/leandrocp/mdex\", \"packageName\": \"leandrocp/mdex\", \"programFiles\": [\"lib/mdex.ex\"], \"collectionURL\": \"https://github.com\", \"defaultStatus\": \"unaffected\", \"programRoutines\": [{\"name\": \"\u0027Elixir.MDEx\u0027:parse_document/2\"}, {\"name\": \"\u0027Elixir.MDEx\u0027:json_to_node/1\"}]}], \"references\": [{\"url\": \"https://github.com/leandrocp/mdex/security/advisories/GHSA-923r-7vf4-5vw8\", \"tags\": [\"vendor-advisory\", \"related\"]}, {\"url\": \"https://cna.erlef.org/cves/CVE-2026-53426.html\", \"tags\": [\"related\"]}, {\"url\": \"https://osv.dev/vulnerability/EEF-CVE-2026-53426\", \"tags\": [\"related\"]}, {\"url\": \"https://github.com/leandrocp/mdex/commit/00fddf444220a1f1cc0af0a1cab6738804878387\", \"tags\": [\"patch\"]}], \"workarounds\": [{\"lang\": \"en\", \"value\": \"Do not pass untrusted or attacker-controlled input to the {:json, ...} source of MDEx.parse_document/2. The {:markdown, ...} source is not affected.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eDo not pass untrusted or attacker-controlled input to the \u003ctt\u003e{:json, ...}\u003c/tt\u003e source of \u003ctt\u003eMDEx.parse_document/2\u003c/tt\u003e. The \u003ctt\u003e{:markdown, ...}\u003c/tt\u003e source is not affected.\u003c/p\u003e\", \"base64\": false}]}], \"x_generator\": {\"engine\": \"cvelib 1.8.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"Allocation of Resources Without Limits or Throttling vulnerability in leandrocp MDEx allows Excessive Allocation.\\n\\nMDEx.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.\\n\\nA 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.\\n\\nThis issue affects mdex from 0.4.3 before 0.13.2.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eAllocation of Resources Without Limits or Throttling vulnerability in leandrocp MDEx allows Excessive Allocation.\u003c/p\u003e\u003cp\u003e\u003ctt\u003eMDEx.parse_document/2\u003c/tt\u003e accepts a \u003ctt\u003e{:json, json}\u003c/tt\u003e source. In \u003ctt\u003elib/mdex.ex\u003c/tt\u003e, the private \u003ctt\u003ejson_to_node/1\u003c/tt\u003e function passes the attacker-controlled \u003ctt\u003enode_type\u003c/tt\u003e value to \u003ctt\u003eModule.concat/1\u003c/tt\u003e, which calls \u003ctt\u003eString.to_atom/1\u003c/tt\u003e 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 \u003ctt\u003enode_type\u003c/tt\u003e at each (deeply nested) node mints one permanent atom per node.\u003c/p\u003e\u003cp\u003eA 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 \u003ctt\u003e{:json, ...}\u003c/tt\u003e source of \u003ctt\u003eMDEx.parse_document\u003c/tt\u003e is exposed to an unauthenticated denial-of-service.\u003c/p\u003e\u003cp\u003eThis issue affects mdex from 0.4.3 before 0.13.2.\u003c/p\u003e\", \"base64\": false}]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-770\", \"description\": \"CWE-770 Allocation of Resources Without Limits or Throttling\"}]}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:a:leandrocp:mdex:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"0.13.2\", \"versionStartIncluding\": \"0.4.3\"}], \"operator\": \"AND\"}], \"operator\": \"OR\"}], \"providerMetadata\": {\"orgId\": \"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\", \"shortName\": \"EEF\", \"dateUpdated\": \"2026-06-30T04:38:27.190Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-53426\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-06-30T04:38:27.190Z\", \"dateReserved\": \"2026-06-09T11:01:47.529Z\", \"assignerOrgId\": \"6b3ad84c-e1a6-4bf7-a703-f496b71e49db\", \"datePublished\": \"2026-06-29T19:11:32.605Z\", \"assignerShortName\": \"EEF\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…