Your submission was sent successfully! Close

You have successfully unsubscribed! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates about Ubuntu and upcoming events where you can meet our team.Close

CVE-2022-31116

Published: 5 July 2022

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.

Notes

AuthorNote
ccdm94
the embedded ujson code in pandas, eventhough containing similar
content as the upstream ujson code, seems to have diverged from the
ujson upstream project (they have fully forked ujson), since pandas
upstream is maintaining their own ujson bug fixes and changes without
re-syncing with the ujson upstream project. There is no indication
the ujson fork, as used in pandas, is vulnerable to the same issues
as the upstream ujson code.

according to https://github.com/ultrajson/ultrajson/releases/tag/5.4.0,
the commits that fix this issue are e0e5db9a46 and bc7bdff051. However,
release 5.4.0 does include a few other commits which seem to be related
to the above.

Priority

Medium

Cvss 3 Severity Score

7.5

Score breakdown

Status

Package Release Status
collada2gltf
Launchpad, Ubuntu, Debian
bionic Needs triage

focal Does not exist

impish Ignored
(end of life)
jammy Needs triage

kinetic Ignored
(end of life, was needs-triage)
lunar Ignored
(end of life, was needs-triage)
mantic Does not exist

noble Does not exist

trusty Does not exist

upstream Needs triage

xenial Needs triage

pandas
Launchpad, Ubuntu, Debian
bionic Needs triage

focal Needs triage

impish Ignored
(end of life)
jammy Needs triage

kinetic Ignored
(end of life, was needs-triage)
lunar Ignored
(end of life, was needs-triage)
mantic Ignored
(end of life, was needs-triage)
noble Needs triage

trusty Needs triage

upstream Needed

xenial Needs triage

ujson
Launchpad, Ubuntu, Debian
bionic
Released (1.35-2ubuntu0.1~esm1)
Available with Ubuntu Pro
focal
Released (1.35-4ubuntu0.1+esm1)
Available with Ubuntu Pro
impish Ignored
(end of life)
jammy
Released (5.1.0-1ubuntu0.1~esm1)
Available with Ubuntu Pro
kinetic Not vulnerable
(5.4.0-1)
lunar Not vulnerable
(5.5.0-2)
mantic Not vulnerable
(5.5.0-2)
noble Not vulnerable
(5.5.0-2)
trusty Does not exist

upstream
Released (5.4.0)
xenial
Released (1.33-1ubuntu0.1~esm2)
Available with Ubuntu Pro
Patches:
upstream: https://github.com/ultrajson/ultrajson/commit/e0e5db9a46decfea1174217382486e06bbab4743
upstream: https://github.com/ultrajson/ultrajson/commit/67ec07183342589d602e0fcf7bb1ff3e19272687

Severity score breakdown

Parameter Value
Base score 7.5
Attack vector Network
Attack complexity Low
Privileges required None
User interaction None
Scope Unchanged
Confidentiality None
Integrity impact None
Availability impact High
Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H