CVE-2022-31116Always-Incorrect Control Flow Implementation in Ultrajson

Severity
7.5HIGHNVD
OSV5.5
EPSS
0.1%
top 78.88%
CISA KEV
Not in KEV
Exploit
No known exploits
Timeline
PublishedJul 5
Latest updateFeb 14

Description

UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Affected versions were found to improperly decode certain characters. JSON strings that contain escaped surrogate characters not part of a proper surrogate pair were decoded incorrectly. Besides corrupting strings, this allowed for potential key confusion and value overwriting in dictionaries. All users parsing JSON from untrusted sources are vulnerable. From version 5.4.0, UltraJSON decodes lone surrog

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitability: 3.9 | Impact: 3.6

Affected Packages3 packages

CVEListV5ultrajson/ultrajson< 5.4.0
debiandebian/ujson< ujson 5.4.0-1 (bookworm)

Also affects: Fedora 35, 36

Patches

🔴Vulnerability Details

6
OSV
ujson vulnerability2024-02-14
OSV
ujson vulnerabilities2024-02-14
OSV
ujson vulnerabilities2024-02-14
OSV
Incorrect handling of invalid surrogate pair characters2022-07-05
OSV
CVE-2022-31116: UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 32022-07-05

📋Vendor Advisories

5
Ubuntu
UltraJSON vulnerabilities2024-02-14
Ubuntu
UltraJSON vulnerability2024-02-14
Ubuntu
UltraJSON vulnerabilities2024-02-14
Red Hat
python-ujson: improper decoding of escaped surrogate characters may lead to string corruption, key confusion or value overwriting2022-07-02
Debian
CVE-2022-31116: ujson - UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for...2022
CVE-2022-31116 — Ultrajson vulnerability | cvebase