CVE-2026-53426: MDEx Package Denial-of-Service Vulnerability via Atom Table Exhaustion

mdex Updated 30 Jun 2026

Summary

29/06/2026
Yes i
High
8.2

CVE-2026-53426: Atom-table exhaustion denial-of-service via JSON parse_document in MDEx. Affects mdex across 2 version ranges.

>= 0.4.3, < 0.13.2 >= cbb59a3f792dbc343873adec3466f49c853dc309, < 00fddf444220a1f1cc0af0a1cab6738804878387

Fixed in 0.13.2. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

Background

MDEx is a library designed for parsing and manipulating Markdown and JSON documents in Elixir applications. It provides functionalities to convert documents into structured formats, allowing developers to work with content more effectively. However, the library is vulnerable to a denial-of-service attack due to its handling of JSON input, particularly when it comes to atom creation, which can lead to resource exhaustion.

Vulnerability Detail

The vulnerability arises from the MDEx.parse_document function, which accepts a JSON source. The internal json_to_node function uses an attacker-controlled node_type value to create new atoms via String.to_atom. Since atoms in the BEAM virtual machine are not garbage collected, a maliciously crafted JSON document can generate a large number of unique atoms, potentially exhausting the atom table limit of approximately 1,048,576. This can cause the Erlang VM to abort, resulting in a denial-of-service condition that affects all processes on the node.

How To Fix

Latest published version: 0.14.2 as of 23 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

0.13.2

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

Avoid passing untrusted or attacker-controlled input to the {:json, ...} source of MDEx.parse_document/2. Instead, consider using the {:markdown, ...} source, which is not affected by this vulnerability.

Conclusion

CVE-2026-53426 represents a significant vulnerability in the MDEx package that can lead to denial-of-service attacks through atom table exhaustion. It is crucial for developers using this library to update to the patched version or implement workarounds to protect their applications from potential exploitation.

See every vulnerability recorded for mdex →

Share this vulnerability

FAQ

CVE-2026-53426 is a vulnerability in the MDEx package that allows for denial-of-service attacks through atom table exhaustion.

If your application uses the MDEx package and processes untrusted JSON input, it may be susceptible to denial-of-service attacks, causing the Erlang VM to crash.

The vulnerability affects MDEx versions from 0.4.3 up to, but not including, 0.13.2.

You can use Vulert, which monitors and alerts for open-source vulnerabilities in real-time. Visit Vulert Scanner to check if your application is affected without needing to sign up.

As a temporary measure, avoid using the {:json, ...} source in MDEx.parse_document/2 with untrusted input to mitigate the risk of exploitation.

Related vulnerabilities

Recent vulnerabilities recorded for mdex.

Sponsored Lume, the Habilume companion Habilume Habit tracker with a companion that grows with you Complete habits, earn Lume Points, and watch your Lume grow as you stay consistent. App Store Google Play

How To Fix

Latest published version: 0.14.2 as of 23 Oct 2026

Upgrading to it may include breaking changes; the version below is the minimum fixed release for this vulnerability.

If you need the minimum change

0.13.2

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback