Read the docs
TI-2026-39683 Aliases CVE-2026-54911GHSA-3j69-69wj-xqx2

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

Priority LOW 35CWE-20Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
Low · Low · None
Fix status
Partial Red Hat: 3 without a fix

Attack profile from CVSS 3.1 · CNA. Fix status from CNA, GitHub and Red Hat.

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00371 31st percentileScored 2026-11-07
Fix Partial ultrajson (ultrajson): 5.13.0ujson (PyPI): 5.13.0Red Hat: 3 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
ultrajsonultrajsonbefore 5.13.05.13.0Patch availableCNA
—ujson (PyPI)before 5.13.05.13.0Patch availableGHSA-3j69-69wj-xqx2
  • ultrajson Vendorultrajson Affected before 5.13.0 Fixed in 5.13.0 Patch available CNA
  • ujson (PyPI) Vendor— Affected before 5.13.0 Fixed in 5.13.0 Patch available GHSA-3j69-69wj-xqx2

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:ultrajson_project:ultrajson:*:*:*:*:*:python:*:*before 5.13.0Vulnerableultrajson
  • cpe:2.3:a:ultrajson_project:ultrajson:*:*:*:*:*:python:*:* Versions before 5.13.0 Vulnerable ·ultrajson

Remediation

  • Fix · CNA ultrajson (ultrajson) Fixed in 5.13.0
  • Fix · GHSA-3j69-69wj-xqx2 ujson (PyPI) Fixed in 5.13.0 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Exploit IntelligenceAffectedNo fix yet: Fix deferred
Red Hat Enterprise Linux AI (RHEL AI) 3AffectedNo fix yet: Fix deferred
Red Hat OpenShift AI (RHOAI)AffectedNo fix yet: Fix deferred
Not affected: 3 products
  • Migration Toolkit for Applications 8
  • Red Hat OpenShift AI (RHOAI)
  • Red Hat Satellite 6

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54911
  2. 2026-10-03 Alias added: GHSA-3j69-69wj-xqx2

References

  • TI-2026-32560 UltraJSON: Memory Leak in ujson.dump() on Write Failure CVSS 4.0HIGH 8.7
  • TI-2026-25335 UltraJSON has an integer overflow handling large indent leads to buffer overflow or infinite loop CVSS 3.1HIGH 7.5
  • TI-2022-13160 Incorrect handling of invalid surrogate pair characters in ujson CVSS 3.1HIGH 7.5
  • TI-2026-25334 UltraJSON has a Memory Leak parsing large integers allows DoS CVSS 3.1HIGH 7.5
  • TI-2022-13161 Double free of buffer during string decoding in ujson CVSS 3.1MEDIUM 5.9
  • TI-2021-20961 UltraJSON (aka ujson) through 5.1.0 has a stack-based buffer overflow in… CVSS 3.1MEDIUM 5.5

Sources