HSEC-2026-0007 Denial of Service and Memory Exhaustion in aeson
Attackers can crash servers via memory exhaustion by sending crafted JSON with large negative exponents to applications using the aeson library.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is HSEC-2026-0007?
HSEC-2026-0007 is a denial of service vulnerability in aeson, published on 22 May 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Denial of Service and Memory Exhaustion in aeson
A Denial of Service (DoS) and memory exhaustion vulnerability was identified in the aeson package. The vulnerability allows an attacker to exhaust server memory and crash the host process by supplying maliciously crafted JSON payloads.
The vulnerability exists in aeson's withBoundedScientific_ function (located in src/Data/Aeson/Types/FromJSON.hs). The exponent bounds check only rejects large positive exponents (exp10 > 1024) but fails to reject arbitrarily large negative exponents.
When an attacker sends a JSON number with a massive negative exponent (e.g., 1e-999999999), the value bypasses the check and flows into realToFrac, which computes fromRational . toRational. For such a large negative exponent, toRational produces a GMP Integer with approximately 1 billion decimal digits, causing immediate and severe memory exhaustion.
Affected FromJSON instances:
Fixed a(includingCenti,Pico,Nano, etc.)NominalDiffTimeDiffTime
Resolution
The issue was resolved by introducing proper bounds checks:
aesonnow applies an absolute bounds check to both positive and negative exponents (abs exp10 > 1024).
The fix first shipped in aeson-2.3.0.0, and have been backported to the previous release series as aeson-2.2.5.1.
Users are strongly advised to update to the patched versions:
aeson-2.2.5.1or later
Acknowledgements
The vulnerabilities were reported Nathan Walsh, and patched by Li-yao Xia.
Which versions are affected by HSEC-2026-0007?
2 open source packages ship an affected version, including aeson and text-iso8601.
| Package | Affected | Fixed in |
|---|---|---|
aeson Hackage | From 0.12.0.0 | 2.2.5.1 |
text-iso8601 Hackage | From 0.1 | 0.1.1.2 |
How do I fix HSEC-2026-0007?
Upgrade aeson to 2.2.5.1 or later.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is HSEC-2026-0007 being exploited?
There is no known exploitation of HSEC-2026-0007 in the wild and no public exploit code.