CVE-2026-32875
A public proof of concept exists; no exploitation attested.
- Published2026-03-20
- Fixed in5.12.0
- WeaknessCWE-190 · CWE-787 · CWE-835
Am I affected?
Debian, Ubuntu or Red Hat sometimes backport a fix without changing the upstream version number: such a version reads « to verify », never « affected ».With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.
Description
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Versions 5.10 through 5.11.0 are vulnerable to buffer overflow or infinite loop through large indent handling. ujson.dumps() crashes the Python interpreter (segmentation fault) when the product of the indent parameter and the nested depth of the input exceeds INT32_MAX. It can also get stuck in an infinite loop if the indent is a large negative number. Both are caused by an integer overflow/underflow whilst calculating how much memory to reserve for indentation. And both can be used to achieve denial of service. To be vulnerable, a service must call ujson.dump()/ujson.dumps()/ujson.encode() whilst giving untrusted users control over the indent parameter and not restrict that indentation to reasonably small non-negative values. A service may also be vulnerable to the infinite loop if it uses a fixed negative indent. An underflow always occurs for any negative indent when the input data is at least one level nested but, for small negative indents, the underflow is usually accidentally rectified by another overflow. This issue has been fixed in version 5.12.0.
Timeline
dates in UTC- 2026-03-2002:16CVE publishedNVD
Versions per branch
NVD · OSV| Branch | Affected | Fixed in | Source |
|---|---|---|---|
| 5.x | ≥ 5.1.0, < 5.12.0 | 5.12.0 | NVD · OSV |
as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.
Products declared by the CNA1 product
As GitHub_M, the CNA that assigned this CVE, declared them in the CVE record; versions as written.
- ultrajsonAffected
- = >= 5.1.0, < 5.12.0no fix stated
Source: the CNA record (CVE Program), © The MITRE Corporation,CVE Terms of UseCVE recordupdated 2026-03-20
Distribution builds and vendor advisories
Packages from OSV.dev and products from the vendors' CSAF advisories.
version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.
Packages
- apache-beam-python-3.12-sdkChainguardall versions · fixed in 2.71.0-r1
- label-studioMinimOSall versions · fixed in 1.23.1-r0
- py3-ujsonAlpine:v3.24all versions · fixed in 5.12.0-r0
- py3-ujsonAlpine:v3.23all versions · fixed in 5.12.0-r0
- python-ujsonopenEuler:24.03-LTS-SP4all versions · fixed in 5.1.0-6.oe2403sp4
- python-ujsonopenEuler:24.03-LTS-SP3all versions · fixed in 5.1.0-7.oe2403sp3
- python-ujsonopenEuler:24.03-LTS-SP1all versions · fixed in 5.1.0-6.oe2403sp1
- python-ujsonMageia:9all versions · fixed in 5.7.0-1.1.mga9
15 more package ranges on OSV.dev
Fix
- Update Ultrajson project ultrajson to 5.12.0
Advisories and patches
- github.comPatch
- github.comVendor Advisory
Detection
- Nuclei template
- none so far ProjectDiscovery
- Exploit-DB
- no entry Exploit-DB
- Proof of concept
- CISA-ADP (SSVC)PoC stated2026-03-25
- PoC-in-GitHubno public repository identifiedread 2026-11-08
- Metasploit modules
- none listed Metasploit Framework
Sources
- CISA-ADPSSVC decisionpoc2026-03-25
- CNACVSS 3.17.5known since 2026-10-23
- CNAweakness (CWE)CWE-190, CWE-787, CWE-835known since 2026-10-23
- NVDweakness (CWE)CWE-190read 2026-10-23
- FIRST EPSSEPSS score0.5 %2026-11-08
- OSVaffected packages—
- GitHub AdvisoriesadvisoryHIGH2026-03-18
Identifiers
- CGA-9p9v-g4jg-mgvmsame flawChainguard · CC-BY-NC-ND-4.0
- CGA-ghcm-6mhj-cj9fsame flawChainguard · CC-BY-NC-ND-4.0
- EUVD-2026-13444same flawENISA EUVD · LicenseRef-ENISA-legal-notice
- GHSA-c8rr-9gxc-jprvsame flawGitHub Advisory Database · CC-BY-4.0
- MINI-8gc5-5xqg-2cg5same flawMinimOS · LicenseRef-unstated
- PYSEC-2026-2292same flawPyPA Advisory Database · CC-BY-4.0
- MGASA-2026-0073advisory covering several CVEsMageia · LicenseRef-unstated
- OESA-2026-3607advisory covering several CVEsopenEuler · LicenseRef-unstated
- OESA-2026-3608advisory covering several CVEsopenEuler · LicenseRef-unstated
- OESA-2026-3720advisory covering several CVEsopenEuler · LicenseRef-unstated
Technical details
- CVSS v3 Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- Published
- 2026-03-20
- Last Modified
- 2026-07-15
- NVD status
- Modified
- GitHub Advisory
- GHSA-c8rr-9gxc-jprv
Frequently asked questions
What is CVE-2026-32875?
Is CVE-2026-32875 actively exploited?
What is the CVSS score for CVE-2026-32875?
Running ujson? Hear about its next vulnerability
Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».
No credit card required · No monthly cap on website lookups · 250 API requests/month
Go further
- Following what attackers exploit right now? The CISA KEV additions of the month, with their patch deadlines.
- Running this software? Vulnerability monitoring alerts you to new vulnerabilities in your products.
Related vulnerabilities
Same product first, then the same vendor advisory and the same publication week.
Sources for this record
- CVE Program · CVE Program Terms of Use
- ENISA EU Vulnerability Database · ENISA legal notice §1.2 (reproduction authorised, provided the source is acknowledged)
- FIRST EPSS · EPSS terms of use (free use, attribution requested)
- GitHub Advisory Database · CC-BY-4.0 · GHSA-c8rr-9gxc-jprv
- NVD · Public domain (17 U.S.C. § 105) for NVD-authored data; third-party content under its own terms
- OSV.dev · Per record, as its publisher states it: each row carries the label in sourceLicense when one is served
- CISA Vulnrichment · CC0-1.0