HSEC-2026-0007 Denial of Service and Memory Exhaustion in aeson

Not scored Published

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 (including Centi, Pico, Nano, etc.)
  • NominalDiffTime
  • DiffTime

Resolution

The issue was resolved by introducing proper bounds checks:

  • aeson now 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.1 or 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.

PackageAffectedFixed in
aeson HackageFrom 0.12.0.02.2.5.1
text-iso8601 HackageFrom 0.10.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.

Sources

Is HSEC-2026-0007 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free