CVE-2022-31116

EUVD-2022-6438
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 surrogates in the same way as the standard library's `json` module does, preserving them in the parsed output. Users are advised to upgrade. There are no known workarounds for this issue.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
7.5 HIGH
NETWORK
LOW
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
GitHub_MCNA
7.5 HIGH
NETWORK
LOW
NONE
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 21%
Affected Products (NVD)
VendorProductVersion
ultrajson_projectultrajson
𝑥
< 5.4.0
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
ujson
bookworm
5.7.0-1
fixed
bullseye
no-dsa
buster
no-dsa
sid
5.10.0-1
fixed
trixie
5.10.0-1
fixed
Ubuntu logo
Ubuntu Releases
Ubuntu Product
Codename
collada2gltf
bionic
needs-triage
focal
dne
impish
ignored
jammy
needs-triage
kinetic
ignored
lunar
ignored
mantic
dne
noble
dne
trusty
dne
xenial
needs-triage
pandas
bionic
needs-triage
focal
needs-triage
impish
ignored
jammy
needs-triage
kinetic
ignored
lunar
ignored
mantic
ignored
noble
needs-triage
trusty
needs-triage
xenial
needs-triage
ujson
bionic
Fixed 1.35-2ubuntu0.1~esm1
released
focal
Fixed 1.35-4ubuntu0.1+esm1
released
impish
ignored
jammy
Fixed 5.1.0-1ubuntu0.1~esm1
released
kinetic
not-affected
lunar
not-affected
mantic
not-affected
noble
not-affected
trusty
dne
xenial
Fixed 1.33-1ubuntu0.1~esm2
released