Skip to content
Fencer Vulns
high 7.5

CVE-2026-32874 json

UltraJSON has a Memory Leak parsing large integers allows DoS

published 2026-03-18 7 mo ago modified 2026-09-10 1 mo ago also GHSA-wgvc-ghv9-3pmm , PYSEC-2026-2291 , EUVD-2026-13443

cvss
7.5
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.5%
EPSS 0.5% chance of exploitation in 30 days, percentile 43%
public exploits
0
none known

Summary

UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Versions 5.4.0 through 5.11.0 contain an accumulating memory leak in JSON parsing large (outside of the range [-2^63, 2^64 - 1]) integers. The leaked memory is a copy of the string form of the integer plus an additional NULL byte. The leak occurs irrespective of whether the integer parses successfully or is rejected due to having more than sys.get_int_max_str_digits() digits, meaning that any sized leak per malicious JSON can be achieved provided that there is no limit on the overall size of the payload. Any service that calls ujson.load()/ujson.loads()/ujson.decode() on untrusted inputs is affected and vulnerable to denial of service attacks. This issue has been fixed in version 5.12.0.

Patch / fix

  • pypi ujson 5.12.0
  • ultrajson_project ultrajson 5.12.0
  • ujson Debian 14 5.13.0-1

debian advisories DEBIAN-CVE-2026-32874

  • ujson Ubuntu 25.10 5.10.0-1ubuntu0.1
  • ujson Ubuntu 26.04 LTS 5.11.0-3ubuntu0.1
  • ujson Ubuntu Pro 24.04 LTS 5.9.0-1ubuntu0.1~esm1

ubuntu advisories UBUNTU-CVE-2026-32874

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • py3-ujson Alpine 3.24, Alpine 3.23 5.12.0-r0

alpine advisories ALPINE-CVE-2026-32874

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-32874 updated cvss 7.5

UltraJSON: UltraJSON: Denial of Service due to memory leak when parsing large integers

  • Red Hat OpenStack Platform 16.2 python-ujson, python3-ujson Red Hat OpenStack Platform 17.1 python3-ujson
    not affected: vulnerable code not present
  • Red Hat OpenStack Platform 18.0 python-ujson
    not affected: vulnerable code not in execute path

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
partial
Assessed
7 mo ago

Exploit prediction

0.51% chance of exploitation in the next 30 days, higher than 43% of all scored CVEs (FIRST EPSS, 2026-11-08).

CVSS scores

assigned by version score vector
CNA 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CISA ADP 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
OSV 3.1 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Affected packages

ecosystem package affected fixed in
pypi ujson
>=5.4.0, <5.12.0
5.12.0

Affected products

  • ultrajson ultrajson
  • Red Hat Red Hat OpenStack Platform 16.2
  • Red Hat Red Hat OpenStack Platform 17.1
  • Red Hat Red Hat OpenStack Platform 18.0

Classification

Weakness
  • CWE-401 Missing Release of Memory after Effective Lifetime
  • CWE-772 Missing Release of Resource after Effective Lifetime

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.