Skip to main content
← All vulnerabilities
CVE-2026-54911PYSEC-2026-2294GHSA-3J69-69WJ-XQX2

UltraJSON: Malformed/Truncated UTF-8 Accepted and Silently Rewritten in ujson.dumps()

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.13.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • ultrajson ultrajson

    fixed in 5.13.0

  • ujsonPyPI

    fixed in 5.13.0

References 3

GitHub · ultrajson/ultrajson