Memory Leak Affecting py3-ujson package, versions <5.12.0-r0


Severity

Recommended
low

Based on default assessment until relevant scores are available.

Threat Intelligence

EPSS
0.07% (23rd percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Memory Leak vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-ALPINE323-PY3UJSON-16322647
  • published30 Apr 2026
  • disclosed20 Mar 2026

Introduced: 20 Mar 2026

CVE-2026-32874  (opens in a new tab)
CWE-401  (opens in a new tab)

How to fix?

Upgrade Alpine:3.23 py3-ujson to version 5.12.0-r0 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream py3-ujson package and not the py3-ujson package as distributed by Alpine. See How to fix? for Alpine:3.23 relevant fixed versions and status.

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.

CVSS Base Scores

version 3.1