CVE-2026-54911
MEDIUMUltraJSON: Malformed/Truncated UTF-8 Accepted and Silently Rewritten in ujson.dumps()
Title source: cnaDescription
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Prior to 5.13.0, ujson.dumps() (or ujson.dump() or ujson.encode()) have a reject_bytes=False option. When set, they may accept malformed or truncated UTF-8 byte sequences, silently rewriting them into different Unicode characters instead of rejecting them. This leads to input validation bypass and data integrity issues. This vulnerability is fixed in 5.13.0.
References (3)
Core 3
Core References
X_Refsource_Confirm x_refsource_confirm
https://github.com/ultrajson/ultrajson/security/advisories/GHSA-3j69-69wj-xqx2
X_Refsource_Misc x_refsource_misc
https://github.com/ultrajson/ultrajson/commit/169eaf36b1116fece5034ee79a7a0ef3f6deedcf
X_Refsource_Misc x_refsource_misc
https://github.com/ultrajson/ultrajson/releases/tag/5.13.0
Scores
CVSS v3
6.5
EPSS
0.0029
EPSS Percentile
20.2%
Attack Vector
NETWORK
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
CISA SSVC
Vulnrichment
Exploitation
none
Automatable
yes
Technical Impact
partial
Details
CWE
CWE-20
Status
published
Products (1)
ultrajson/ultrajson
< 5.13.0
Published
Jun 22, 2026
Tracked Since
Jun 23, 2026