CVE-2026-54911: UltraJSON: Malformed/Truncated UTF-8 Accepted and Silently Rewritten in ujson.dumps()
(updated )
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.
References
- github.com/advisories/GHSA-3j69-69wj-xqx2
- github.com/pypa/advisory-database/tree/main/vulns/ujson/PYSEC-2026-2294.yaml
- github.com/ultrajson/ultrajson/commit/169eaf36b1116fece5034ee79a7a0ef3f6deedcf
- github.com/ultrajson/ultrajson/releases/tag/5.13.0
- github.com/ultrajson/ultrajson/security/advisories/GHSA-3j69-69wj-xqx2
- nvd.nist.gov/vuln/detail/CVE-2026-54911
Code Behaviors & Features
Detect and mitigate CVE-2026-54911 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →