Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-54911 EUVD-2026-38362GHSA-3j69-69wj-xqx2PYSEC-2026-2294

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

Published Jun 22, 2026 · Updated Jun 23, 2026 · Assigned by GitHub_M

Description

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 products

VendorProductAffectedFixed
ultrajson ultrajson < 5.13.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 ujson 5.13.0-1 —
Debian 13 ujson No fix yet —
Debian 12 ujson No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 ujson +1 No fix yet —
Ubuntu 26.04 LTS ujson +1 No fix yet —
Ubuntu 25.10 ujson +1 No fix yet —
Ubuntu 24.04 LTS pandas No fix yet —
Ubuntu 22.04 LTS pandas +1 No fix yet —
Show 9 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS pandas No fix yet —
Ubuntu 18.04 LTS pandas +1 No fix yet —
Ubuntu 16.04 LTS pandas +1 No fix yet —
Ubuntu 14.04 LTS pandas No fix yet —
Ubuntu Pro 24.04 LTS ujson No fix yet —
Ubuntu Pro 22.04 LTS ujson No fix yet —
Ubuntu Pro 20.04 LTS ujson No fix yet —
Ubuntu Pro 18.04 LTS ujson No fix yet —
Ubuntu Pro 16.04 LTS ujson No fix yet —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI ujson < 5.13.0 5.13.0 GHSA-3j69-69wj-xqx2

References