Learn about CVE-2022-31116 affecting UltraJSON versions < 5.4.0. Vulnerability allows for key confusion and value overwriting in dictionaries. Upgrade advised for all users.
UltraJSON, a fast JSON encoder and decoder, is affected by a vulnerability in versions prior to 5.4.0. The vulnerability allows improperly decoded characters, leading to potential key confusion and value overwriting in dictionaries.
Understanding CVE-2022-31116
This CVE involves the incorrect handling of invalid surrogate pair characters in UltraJSON.
What is CVE-2022-31116?
UltraJSON, a C-based JSON encoder and decoder for Python, incorrectly decodes certain characters, allowing for key confusion and value overwriting in dictionaries.
The Impact of CVE-2022-20657
The vulnerability poses a high availability impact, affecting users parsing JSON from untrusted sources and potentially leading to data corruption.
Technical Details of CVE-2022-31116
The technical details of CVE-2022-31116 include:
Vulnerability Description
Affected versions of UltraJSON improperly decode certain characters, potentially leading to key confusion and value overwriting in dictionaries.
Affected Systems and Versions
Versions of UltraJSON preceding 5.4.0 are affected by this vulnerability.
Exploitation Mechanism
Attackers can exploit this vulnerability by crafting JSON strings with escaped surrogate characters not part of a proper surrogate pair.
Mitigation and Prevention
To mitigate CVE-2022-31116, users are advised to take the following steps:
Immediate Steps to Take
Long-Term Security Practices
Patching and Updates