medium6.5
CVE-2026-54911
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+.
Impact
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.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | ujson | <= 5.12.1 | 5.13.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Ultrajson Project | Ultrajson | before 5.13.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-3j69-69wj-xqx2
- https://github.com/ultrajson/ultrajson/security/advisories/GHSA-3j69-69wj-xqx2
- https://github.com/ultrajson/ultrajson/commit/169eaf36b1116fece5034ee79a7a0ef3f6deedcf
- https://github.com/ultrajson/ultrajson/releases/tag/5.13.0
- https://nvd.nist.gov/vuln/detail/CVE-2026-54911
- https://github.com/pypa/advisory-database/tree/main/vulns/ujson/PYSEC-2026-2294.yaml