GHSA-wpqr-jcpx-745r · Severity: high · Ecosystem: pip — Incorrect handling of invalid surrogate pair characters
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.
Conclusion & alert: CVE-2022-31116 is rated High Exploit Risk (73.8/100): CVSS High severity, with medium exploitation likelihood (EPSS 2.28%). Core evidence: 1 public exploit reference(s) are indexed (Exploit-DB). Mandatory action: Public exploits are available—assess exposure, apply mitigations, and prioritize patching.
Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.
| EDB-ID | Source | Kind | Published | Link |
|---|---|---|---|---|
| — | nvd_ref | exploit_tag | Exploit-DB ↗ |
EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).
| # | Date | Old EPSS score | New EPSS score | Delta (New - Old) |
|---|---|---|---|---|
| 1 | 2026-07-02 | 1.83% | 2.28% | +0.45% |
| 2 | 2026-06-15 | 0.07% | 1.83% | +1.76% |
| 3 | 2026-01-14 | — | 0.07% | — |
Full EPSS history (14 records total)
CVSS metrics for this CVE.
| Base score | Version | Severity | Vector | Exploitability | Impact | Score source |
|---|---|---|---|---|---|---|
| 7.5 | 3.1 | HIGH |
|
3.9 | 3.6 | [email protected] |
| 7.5 | 3.1 | HIGH |
|
3.9 | 3.6 | [email protected] |
| 5.0 | 2.0 | MEDIUM |
|
10.0 | 2.9 | [email protected] |
GHSA-wpqr-jcpx-745r · Severity: high · Ecosystem: pip — Incorrect handling of invalid surrogate pair characters
| vendor | priority | summary | link |
|---|---|---|---|
alpine
|
high | CVE-2022-31116: 1 source package rows (py3-ujson); 7 state rows across 7 repos (3.17-community, 3.18-community, 3.19-community, 3.20-community, 3.21-community, 3.22-community, edge-community); fixed 7, open 0. | https://security.alpinelinux.org/vuln/CVE-2022-31116 |
debian
|
not yet assigned | CVE-2022-31116 not yet assigned priority: Debian including 1 source packages (ujson), 5 status rows across 5 suites (bookworm, bullseye, forky, sid, trixie): resolved 4, open 1. | https://security-tracker.debian.org/tracker/CVE-2022-31116 |
gentoo
|
normal | CVE-2022-31116: 1 GLSA(s) (202403-03), 1 atom(s) (dev-python/ujson); latest impact normal. | https://bugs.gentoo.org/buglist.cgi?quicksearch=CVE-2022-31116 |
redhat
|
medium | — | https://access.redhat.com/security/cve/CVE-2022-31116 |
suse
|
medium | CVE-2022-31116 severity moderate: SUSE including 10 source package names (python-ujson, python2-ujson-1.35-150100.3.5.1, …), 29 product×package rows across 23 product lines (HPE Helion OpenStack 8, SUSE Linux Enterprise Module for Development Tools 15 SP3, … (23 product lines)): Fixed 24, Will Not Fix 5. | https://www.suse.com/security/cve/CVE-2022-31116/ |
ubuntu
|
medium | CVE-2022-31116 medium priority: Ubuntu including 3 source packages (collada2gltf, pandas, ujson), 42 status rows across 14 suites (bionic, focal, impish, jammy, kinetic, lunar, mantic, noble, oracular, plucky, questing, trusty, upstream, xenial): needs-triage 11, ignored 10, DNE 8, not-affected 7, released 5, needed 1. | https://ubuntu.com/security/CVE-2022-31116 |
| Vendor | Product | Version | Raw CPE |
|---|---|---|---|
| ultrajson_project | ultrajson | < 5.4.0 | cpe:2.3:a:ultrajson_project:ultrajson:*:*:*:*:*:python:*:* |
| fedoraproject | fedora | 35 | cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:* |
| fedoraproject | fedora | 36 | cpe:2.3:o:fedoraproject:fedora:36:*:*:*:*:*:*:* |