CVE-2021-47952
Python · jsonpickle
The python jsonpickle library contains a remote code execution vulnerability via deserialization of malicious JSON payloads containing py/repr objects.
Executive summary
A critical remote code execution vulnerability in python jsonpickle 2.0.0 allows unauthenticated attackers to execute arbitrary system commands via malicious JSON payloads.
Vulnerability
This is a deserialization vulnerability where the library fails to safely handle py/repr objects. An unauthenticated attacker can craft a JSON payload that triggers the execution of arbitrary Python commands during the deserialization process.
Business impact
Successful exploitation allows for complete system compromise, enabling attackers to execute arbitrary code with the privileges of the application process. Given the critical CVSS score of 9.8, this flaw presents an extreme risk of data exfiltration, ransomware deployment, or total service disruption.
Remediation
Immediate Action: Upgrade to the latest version of jsonpickle where this deserialization flaw is addressed.
Proactive Monitoring: Audit application logs for suspicious inbound JSON payloads containing "py/repr" or "eval" keywords.
Compensating Controls: Ensure that the application does not deserialize untrusted or user-supplied JSON data without strict validation and sanitization.
Exploitation status
Public Exploit Available: Unknown
Analyst recommendation
This vulnerability represents a severe security risk due to the potential for full remote code execution. Organizations utilizing jsonpickle must prioritize updating to a patched version immediately to prevent unauthorized system access and potential compromise of the host environment.