PT-2026-53684 · Git+1 · Mdex

Leandro Pereira

+1

·

Published

2026-06-29

·

Updated

2026-06-29

·

CVE-2026-53426

CVSS v4.0

8.2

High

VectorAV:L/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H

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.

Fix

Allocation of Resources Without Limits

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-53426

Affected Products

Mdex