CVE-2022-31116
Publiée le 2022-07-05 · Dernière modification le 2026-06-17
Les applications Python utilisant la bibliothèque UltraJSON (ujson) pour l'analyse de données sont sensibles à une erreur de décodage impliquant certains caractères d'échappement spécifiques. Un attaquant peut envoyer une charge utile JSON spécialement conçue via le réseau pour corrompre des chaînes de caractères ou écraser des valeurs dans des dictionnaires, ce qui peut potentiellement entraîner un déni de service (plantage). Cette action est facile à exécuter car elle ne nécessite aucune authentification, aucune interaction de l'utilisateur et peut être déclenchée à distance.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
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.