Impact
An attacker can supply a maliciously crafted pickled string to Pyro v3.x, which the library deserializes using Python’s pickle protocol without validation. Deserialization triggers execution of arbitrary code embedded in the payload, giving the attacker control over the target process and potentially compromising confidentiality, integrity, and availability. The vulnerability is a case of code injection through unsafe deserialization, classified as CWE‑94.
Affected Systems
Pyro v3.x is an RPC framework for Python. Any deployment of Pyro v3.x that accepts pickled messages from untrusted sources is affected. The vulnerability exists in the pickle protocol handling implemented in the Pyro library, and all releases of Pyro v3.x are at risk until an update is released.
Risk and Exploitability
The vulnerability carries a CVSS score of 9.8, indicating critical severity. The current EPSS score is <1%, reflecting a low but nonzero probability of exploitation. It is not listed in the CISA KEV catalog. The attack vector is remote and requires only that a malicious pickled payload be sent to a Pyro service. Based on the description, it is inferred that deserialization may occur before any authentication, which could make exploitation straightforward if the Pyro service is exposed.
OpenCVE Enrichment