CVE-2026-44660·Python vulnerability
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Prior to 5.12.1, when ujson.dump() writes to a file-like object and the write operation raises an exception, the serialized JSON string object is not decremented, leaking memory. Each failed write operation leaks the full size of the serialized payload. This vulnerability is fixed in 5.12.1.
- Severity
- high
- Software
- Python
- Fixed in
- 5.12.1
- Published
- 2026-05-27
Affected versions
Until: 5.12.1
Fixed in: 5.12.1
How to fix this CVE
Upgrade UltraJSON to version 5.12.1 or later to patch a memory leak vulnerability in the ujson.dump() function. When file write operations fail, the serialized JSON string objects were not being properly freed, causing cumulative memory exhaustion with each failed write. Apply this update immediately in environments where ujson handles untrusted or high-volume JSON serialization tasks.
sudo dnf update python3-ujsonDefensia detects this vulnerability
How to check if you are affected
- Check installed UltraJSON version: python3 -c "import ujson; print(ujson.__version__)"
- Verify if ujson is imported in your application: grep -r "import ujson" /opt /home /var/www --include="*.py"
- Monitor system memory usage during JSON serialization operations: watch -n 1 'ps aux | grep -E "python.*ujson" | head -5'
- Confirm the patch by re-running the version check after update and verifying output shows 5.12.1 or later
FAQ
What is CVE-2026-44660?
This is a memory leak vulnerability in UltraJSON where failed file write operations during ujson.dump() calls fail to release the serialized JSON string object, allowing attackers to exhaust memory by triggering repeated write failures.
Is CVE-2026-44660 being actively exploited?
No, this vulnerability is not listed in the CISA KEV catalog and there is no known public exploit available, though the condition can be triggered through application-level error handling.
What versions of Python are affected by CVE-2026-44660?
UltraJSON versions prior to 5.12.1 are affected. The library supports Python 3.7 and later, so any application using ujson < 5.12.1 on these Python versions is vulnerable.
How do I check if my server is vulnerable to CVE-2026-44660?
Run 'python3 -c "import ujson; print(ujson.__version__)"' and compare the output to version 5.12.1; versions below 5.12.1 are vulnerable.
Does Defensia detect CVE-2026-44660?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Python and UltraJSON are present on a monitored server, CVE-2026-44660 will appear in your dashboard with remediation steps.
Related Python CVEs
References
- https://github.com/ultrajson/ultrajson/commit/82af1d0ac01d09aa40c887b460d44b9d9f4bccd9
- https://github.com/ultrajson/ultrajson/releases/tag/5.12.1
- https://github.com/ultrajson/ultrajson/security/advisories/GHSA-c38f-wx89-p2xg
- https://github.com/ultrajson/ultrajson/security/advisories/GHSA-c38f-wx89-p2xg
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2026-44660. Free for 1 server.
Get started free