CVE-2022-31116
Incorrect handling of invalid surrogate pair characters in ujson
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Incorrect handling of invalid surrogate pair characters in ujson
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.
- Record
CVE-2022-31116- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-670
- Updated
- 2026-11-02
EUVDEUVD-2022-6438
7.5
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.
- Record
EUVD-2022-6438- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-wpqr-jcpx-745r
7.5
Incorrect handling of invalid surrogate pair characters
Impact
What kind of vulnerability is it? Who is impacted?
Anyone parsing JSON from an untrusted source is vulnerable.
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.
Examples:
# An unpaired high surrogate character is ignored.
>>> ujson.loads(r'"\uD800"')
''
>>> ujson.loads(r'"\uD800hello"')
'hello'
# An unpaired low surrogate character is preserved.
>>> ujson.loads(r'"\uDC00"')
'\udc00'
# A pair of surrogates with additional non surrogate characters pair up in spite of being invalid.
>>> ujson.loads(r'"\uD800foo bar\uDC00"')
'foo bar𐀀'
Patches
Has the problem been patched? What versions should users upgrade to?
Users should upgrade to UltraJSON 5.4.0.
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:
>>> ujson.loads(r'"\uD800"')
'\ud800'
>>> ujson.loads(r'"\uD800hello"')
'\ud800hello'
>>> ujson.loads(r'"\uDC00"')
'\udc00'
>>> ujson.loads(r'"\uD800foo bar\uDC00"')
'\ud800foo bar\udc00'
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Short of switching to an entirely different JSON library, there are no safe alternatives to upgrading.
For more information
If you have any questions or comments about this advisory:
- Open an issue in UltraJSON
- Record
GHSA-wpqr-jcpx-745r- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-670
- Updated
- 2026-11-02
NVD
7.5
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.
- Record
CVE-2022-31116- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - CVSS 2.0
- 5.0 Medium
AV:N/AC:L/Au:N/C:N/I:N/A:P - Weakness
- CWE-670
- Updated
- 2026-11-02
OSVALPINE-CVE-2022-31116
7.5
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.
- Record
ALPINE-CVE-2022-31116- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
OSV
7.5
Incorrect handling of invalid surrogate pair characters in ujson
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.
- Record
CVE-2022-31116- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-670
- Updated
- 2026-11-02
Show 13 moreShow less
OSVGHSA-wpqr-jcpx-745r
7.5
Incorrect handling of invalid surrogate pair characters
Impact
What kind of vulnerability is it? Who is impacted?
Anyone parsing JSON from an untrusted source is vulnerable.
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.
Examples:
# An unpaired high surrogate character is ignored.
>>> ujson.loads(r'"\uD800"')
''
>>> ujson.loads(r'"\uD800hello"')
'hello'
# An unpaired low surrogate character is preserved.
>>> ujson.loads(r'"\uDC00"')
'\udc00'
# A pair of surrogates with additional non surrogate characters pair up in spite of being invalid.
>>> ujson.loads(r'"\uD800foo bar\uDC00"')
'foo bar𐀀'
Patches
Has the problem been patched? What versions should users upgrade to?
Users should upgrade to UltraJSON 5.4.0.
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:
>>> ujson.loads(r'"\uD800"')
'\ud800'
>>> ujson.loads(r'"\uD800hello"')
'\ud800hello'
>>> ujson.loads(r'"\uDC00"')
'\udc00'
>>> ujson.loads(r'"\uD800foo bar\uDC00"')
'\ud800foo bar\udc00'
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Short of switching to an entirely different JSON library, there are no safe alternatives to upgrading.
For more information
If you have any questions or comments about this advisory:
- Open an issue in UltraJSON
- Record
GHSA-wpqr-jcpx-745r- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-670
- Updated
- 2026-11-02
OSVOESA-2026-3606
7.5
python-ujson security update
UltraJSON
Security Fix(es):
UltraJSON (aka ujson) through 5.1.0 has a stack-based buffer overflow in Buffer_AppendIndentUnchecked (called from encode). Exploitation can, for example, use a large amount of indentation.(CVE-2021-45958)
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.(CVE-2022-31116)
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. In versions prior to 5.4.0 an error occurring while reallocating a buffer for string decoding can cause the buffer to get freed twice. Due to how UltraJSON uses the internal decoder, this double free is impossible to trigger from Python. This issue has been resolved in version 5.4.0 and all users should upgrade to UltraJSON 5.4.0. There are no known workarounds for this issue.(CVE-2022-31117)
UltraJSON is a fast JSON encoder and decoder written in pure C with bindings for Python 3.7+. Prior to 5.12.1, when ujson.dump() writes to a file-like object and the write operation raises an exception, the serialized JSON string object is not decremented, leaking memory. Each failed write operation leaks the full size of the serialized payload. This vulnerability is fixed in 5.12.1.(CVE-2026-44660)
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.(CVE-2026-54911)
- Record
OESA-2026-3606- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVPYSEC-2026-1057
7.5
Incorrect handling of invalid surrogate pair characters
Impact
What kind of vulnerability is it? Who is impacted?
Anyone parsing JSON from an untrusted source is vulnerable.
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.
Examples:
# An unpaired high surrogate character is ignored.
>>> ujson.loads(r'"\uD800"')
''
>>> ujson.loads(r'"\uD800hello"')
'hello'
# An unpaired low surrogate character is preserved.
>>> ujson.loads(r'"\uDC00"')
'\udc00'
# A pair of surrogates with additional non surrogate characters pair up in spite of being invalid.
>>> ujson.loads(r'"\uD800foo bar\uDC00"')
'foo bar𐀀'
Patches
Has the problem been patched? What versions should users upgrade to?
Users should upgrade to UltraJSON 5.4.0.
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:
>>> ujson.loads(r'"\uD800"')
'\ud800'
>>> ujson.loads(r'"\uD800hello"')
'\ud800hello'
>>> ujson.loads(r'"\uDC00"')
'\udc00'
>>> ujson.loads(r'"\uD800foo bar\uDC00"')
'\ud800foo bar\udc00'
Workarounds
Is there a way for users to fix or remediate the vulnerability without upgrading?
Short of switching to an entirely different JSON library, there are no safe alternatives to upgrading.
For more information
If you have any questions or comments about this advisory:
- Open an issue in UltraJSON
- Record
PYSEC-2026-1057- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2022:8850
7.5
Red Hat Security Advisory: Red Hat OpenStack Platform 16.2.4 (python-ujson) security update
- Record
RHSA-2022:8850- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVRHSA-2022:8864
7.5
Red Hat Security Advisory: Red Hat OpenStack Platform 16.1.9 (python-ujson) security update
- Record
RHSA-2022:8864- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2022-31116
7.5
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.
- Record
UBUNTU-CVE-2022-31116- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2022-31116 No score
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.
- Record
DEBIAN-CVE-2022-31116- Updated
- 2026-11-03
OSVMGASA-2022-0270 No score
Updated python-ujson packages fix security vulnerability
Add support for arbitrary size integers. Replace 'wchar_t' string decoding implementation with a 'uint32_t'-based one; fix handling of surrogates on decoding (CVE-2022-31116) Potential double free of buffer during string decoding - Fix memory leak on encoding errors when the buffer was resized - Integer parsing: always detect overflows - Fix handling of surrogates on encoding (CVE-2022-31117)
- Record
MGASA-2022-0270- Updated
- 2026-11-02
OSVopenSUSE-SU-2024:12183-1 No score
python310-ujson-5.4.0-1.1 on GA media
These are all security issues fixed in the python310-ujson-5.4.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:12183-1- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15107-1 No score
python311-ujson-5.10.0-1.5 on GA media
These are all security issues fixed in the python311-ujson-5.10.0-1.5 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15107-1- Updated
- 2026-11-02
OSVSUSE-SU-2022:2673-1 No score
Security update for python-ujson
This update for python-ujson fixes the following issues:
- CVE-2022-31116: Fixed improper decoding of escaped surrogate characters (bsc#1201255).
- CVE-2022-31117: Fixed a double free while reallocating a buffer for string decoding (bsc#1201254).
- Record
SUSE-SU-2022:2673-1- Updated
- 2026-11-02
OSVUSN-6629-1 No score
ujson vulnerabilities
It was discovered that UltraJSON incorrectly handled certain input with a large amount of indentation. An attacker could possibly use this issue to crash the program, resulting in a denial of service. (CVE-2021-45958)
Jake Miller discovered that UltraJSON incorrectly decoded certain characters. An attacker could possibly use this issue to cause key confusion and overwrite values in dictionaries. (CVE-2022-31116)
It was discovered that UltraJSON incorrectly handled an error when reallocating a buffer for string decoding. An attacker could possibly use this issue to corrupt memory. (CVE-2022-31117)
- Record
USN-6629-1- Updated
- 2026-11-02
OSVUSN-6629-3 No score
ujson vulnerabilities
USN-6629-1 fixed vulnerabilities in UltraJSON. This update provides the corresponding updates for Ubuntu 20.04 LTS.
Original advisory details:
It was discovered that UltraJSON incorrectly handled certain input with a large amount of indentation. An attacker could possibly use this issue to crash the program, resulting in a denial of service. (CVE-2021-45958)
Jake Miller discovered that UltraJSON incorrectly decoded certain characters. An attacker could possibly use this issue to cause key confusion and overwrite values in dictionaries. (CVE-2022-31116)
It was discovered that UltraJSON incorrectly handled an error when reallocating a buffer for string decoding. An attacker could possibly use this issue to corrupt memory. (CVE-2022-31117)
- Record
USN-6629-3- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
ujsonPyPI |
before 5.4.0 | 5.4.0 |
py3-ujsonAlpine:v3.16 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.17 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.18 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.19 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.20 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.21 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.22 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.23 |
before 5.4.0-r0 | 5.4.0-r0 |
py3-ujsonAlpine:v3.24 |
before 5.4.0-r0 | 5.4.0-r0 |
Show 40 moreShow less
| Package | Affected | Fixed |
|---|---|---|
ujsonDebian:12 |
before 5.4.0-1 | 5.4.0-1 |
ujsonDebian:13 |
before 5.4.0-1 | 5.4.0-1 |
ujsonDebian:14 |
before 5.4.0-1 | 5.4.0-1 |
ujsonPyPI |
before 5.4.0, plus listed versions 1.151.181.191.211.22 Show 26 moreShow less1.231.301.331.341.351.41.61.81.92.0.02.0.12.0.22.0.33.0.03.1.03.2.04.0.04.0.14.0.24.1.04.2.04.3.05.0.05.1.05.2.05.3.0 |
5.4.0 |
python-ujsonMageia:8 From an advisory covering 2 CVEs |
before 5.4.0-1.mga8 | 5.4.0-1.mga8 |
python-ujsonopenEuler:20.03-LTS-SP4 From an advisory covering 5 CVEs |
before 4.0.2-3.oe2003sp4 | 4.0.2-3.oe2003sp4 |
python-ujsonRed Hat:openstack:16.2::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python-ujson-debugsourceRed Hat:openstack:16.2::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python3-ujsonRed Hat:openstack:16.2::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python3-ujson-debuginfoRed Hat:openstack:16.2::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python-ujsonRed Hat:openstack:16.1::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python-ujson-debugsourceRed Hat:openstack:16.1::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python3-ujsonRed Hat:openstack:16.1::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python3-ujson-debuginfoRed Hat:openstack:16.1::el8 From an advisory covering 2 CVEs |
before 0:2.0.3-3.el8ost | 0:2.0.3-3.el8ost |
python-ujsonSUSE:Linux Enterprise Module for Development Tools 15 SP3 From an advisory covering 2 CVEs |
before 1.35-150100.3.5.1 | 1.35-150100.3.5.1 |
python-ujsonSUSE:Linux Enterprise Module for Development Tools 15 SP4 From an advisory covering 2 CVEs |
before 1.35-150100.3.5.1 | 1.35-150100.3.5.1 |
python-ujsonSUSE:Linux Enterprise Module for Package Hub 15 SP3 From an advisory covering 2 CVEs |
before 1.35-150100.3.5.1 | 1.35-150100.3.5.1 |
python-ujsonSUSE:Linux Enterprise Module for Package Hub 15 SP4 From an advisory covering 2 CVEs |
before 1.35-150100.3.5.1 | 1.35-150100.3.5.1 |
python-ujsonopenSUSE:Leap 15.3 From an advisory covering 2 CVEs |
before 1.35-150100.3.5.1 | 1.35-150100.3.5.1 |
python-ujsonopenSUSE:Leap 15.4 From an advisory covering 2 CVEs |
before 1.35-150100.3.5.1 | 1.35-150100.3.5.1 |
pandasUbuntu:14.04:LTS |
All versions, plus listed versions 0.12.0-2ubuntu10.13.1-2ubuntu10.13.1-2ubuntu2 |
None known |
ujsonUbuntu:Pro:16.04:LTS |
before 1.33-1ubuntu0.1~esm2, plus listed versions 1.33-11.33-1build1 |
1.33-1ubuntu0.1~esm2 |
collada2gltfUbuntu:16.04:LTS |
All versions, plus listed versions 20140924-3 |
None known |
pandasUbuntu:16.04:LTS |
All versions, plus listed versions 0.15.0-20.15.0-2ubuntu10.15.0-2ubuntu20.17.1-3ubuntu2 |
None known |
collada2gltfUbuntu:18.04:LTS |
All versions, plus listed versions 20140924-4 |
None known |
pandasUbuntu:18.04:LTS |
All versions, plus listed versions 0.19.2-5.1ubuntu40.22.0-2ubuntu10.22.0-30.22.0-40.22.0-4ubuntu1 |
None known |
ujsonUbuntu:Pro:18.04:LTS |
before 1.35-2ubuntu0.1~esm1, plus listed versions 1.35-1build21.35-2 |
1.35-2ubuntu0.1~esm1 |
pandasUbuntu:20.04:LTS |
All versions, plus listed versions 0.23.3+dfsg-4ubuntu10.23.3+dfsg-4ubuntu50.23.3+dfsg-4ubuntu60.25.3+dfsg-40.25.3+dfsg-4build10.25.3+dfsg-7 |
None known |
collada2gltfUbuntu:22.04:LTS |
All versions, plus listed versions 20140924-7build120140924-8 |
None known |
pandasUbuntu:22.04:LTS |
All versions, plus listed versions 1.1.5+dfsg-21.1.5+dfsg-2ubuntu11.3.5+dfsg-21.3.5+dfsg-2ubuntu11.3.5+dfsg-3 |
None known |
ujsonUbuntu:Pro:22.04:LTS |
before 5.1.0-1ubuntu0.1~esm1, plus listed versions 4.0.2-14.0.2-1build14.2.0-15.1.0-15.1.0-1build1 |
5.1.0-1ubuntu0.1~esm1 |
pandasUbuntu:24.04:LTS |
All versions, plus listed versions 1.5.3+dfsg-61.5.3+dfsg-6ubuntu11.5.3+dfsg-7ubuntu11.5.3+dfsg-102.1.4+dfsg-4ubuntu22.1.4+dfsg-7 |
None known |
pandasUbuntu:25.10 |
All versions, plus listed versions 2.2.3+dfsg-8build12.2.3+dfsg-9 |
None known |
pandasUbuntu:26.10 |
All versions, plus listed versions 2.3.3+dfsg-3ubuntu12.3.3+dfsg-3ubuntu3 |
None known |
pandasUbuntu:26.04:LTS |
All versions, plus listed versions 2.2.3+dfsg-92.3.3+dfsg-1ubuntu12.3.3+dfsg-32.3.3+dfsg-3ubuntu1 |
None known |
ujsonUbuntu:Pro:16.04:LTS From an advisory covering 3 CVEs |
before 1.33-1ubuntu0.1~esm2, plus listed versions 1.33-11.33-1build1 |
1.33-1ubuntu0.1~esm2 |
ujsonUbuntu:Pro:18.04:LTS From an advisory covering 3 CVEs |
before 1.35-2ubuntu0.1~esm1, plus listed versions 1.35-1build21.35-2 |
1.35-2ubuntu0.1~esm1 |
ujsonUbuntu:Pro:22.04:LTS From an advisory covering 3 CVEs |
before 5.1.0-1ubuntu0.1~esm1, plus listed versions 4.0.2-14.0.2-1build14.2.0-15.1.0-15.1.0-1build1 |
5.1.0-1ubuntu0.1~esm1 |
ujsonUbuntu:Pro:20.04:LTS From an advisory covering 2 CVEs |
before 1.35-4ubuntu0.1+esm1, plus listed versions 1.35-3build11.35-3build21.35-41.35-4build11.35-4ubuntu0.1 |
1.35-4ubuntu0.1+esm1 |
python-ujsonopenSUSE:Tumbleweed From an advisory covering 3 CVEs |
before 5.10.0-1.5 | 5.10.0-1.5 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| affected, aliases, references | OSV | |
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-31116 is a high vulnerability (CVSS 7.5) in Ultrajson, published July 5, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.54%, the 85th percentile. Fixed in ujson 5.4.0.
References
github.com/ultrajson/ultrajson/security/advisories/GHSA-wpqr-jcpx-745r
github.com/ultrajson/ultrajson/commit/67ec07183342589d602e0fcf7bb1ff3e19272687
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/OPPU5FZP3LCTXYORFH7NHUMYA5X66IA7
lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/NAU5N4A7EUK2AMUCOLYDD5ARXAJYZBD2
nvd.nist.gov/vuln/detail/CVE-2022-31116
lists.fedoraproject.org/archives/list/[email protected]/message/NAU5N4A7EUK2AMUCOLYDD5ARXAJYZBD2
Show 39 moreShow less
lists.fedoraproject.org/archives/list/[email protected]/message/OPPU5FZP3LCTXYORFH7NHUMYA5X66IA7
github.com/advisories/GHSA-wpqr-jcpx-745r
security.alpinelinux.org/vuln/CVE-2022-31116
github.com/CVEProject/cvelistV5/tree/main/cves/2022/31xxx/CVE-2022-31116.json
security-tracker.debian.org/tracker/CVE-2022-31116
github.com/ultrajson/ultrajson
advisories.mageia.org/MGASA-2022-0270.html
bugs.mageia.org/show_bug.cgi?id=30663
lists.fedoraproject.org/archives/list/[email protected]/thread/OPPU5FZP3LCTXYORFH7NHUMYA5X66IA7
openeuler.org/zh/security/security-bulletins/detail?id=openEuler-SA-2026-3606
nvd.nist.gov/vuln/detail/CVE-2021-45958
nvd.nist.gov/vuln/detail/CVE-2022-31117
nvd.nist.gov/vuln/detail/CVE-2026-44660
nvd.nist.gov/vuln/detail/CVE-2026-54911
pypi.org/project/ujson
access.redhat.com/errata/RHSA-2022:8850
access.redhat.com/security/updates/classification
bugzilla.redhat.com/show_bug.cgi?id=2104739
bugzilla.redhat.com/show_bug.cgi?id=2104740
security.access.redhat.com/data/csaf/v2/advisories/2022/rhsa-2022_8850.json
access.redhat.com/security/cve/CVE-2022-31116
cve.org/CVERecord?id=CVE-2022-31116
access.redhat.com/security/cve/CVE-2022-31117
cve.org/CVERecord?id=CVE-2022-31117
github.com/ultrajson/ultrajson/security/advisories/GHSA-fm67-cv37-96ff
access.redhat.com/errata/RHSA-2022:8864
security.access.redhat.com/data/csaf/v2/advisories/2022/rhsa-2022_8864.json
suse.com/support/update/announcement/2022/suse-su-20222673-1
bugzilla.suse.com/1201254
bugzilla.suse.com/1201255
suse.com/security/cve/CVE-2022-31116
suse.com/security/cve/CVE-2022-31117
ubuntu.com/security/CVE-2022-31116
ubuntu.com/security/notices/USN-6629-1
ubuntu.com/security/notices/USN-6629-3
ubuntu.com/security/CVE-2021-45958
ubuntu.com/security/CVE-2022-31117
lists.opensuse.org/archives/list/[email protected]/thread/KL3RUIUL44VPVSZZRZRL4FQDR4CDAGSW
suse.com/security/cve/CVE-2021-45958