Vulnerability record · CVE-2022-35411 · published 8 July 2022
CVE-2022-35411: rpc.py Unauthenticated Remote Code Execution via Pickle Deserialization
RRpc.Py Project · Rpc.Py
rpc.py through 0.6.0 deserializes request data with Python pickle when a client sends the HTTP header "serializer: pickle", even though JSON is the default format. Because pickle deserialization can execute arbitrary code, an unauthenticated remote client can achieve remote code execution on the server.
Description
rpc.py through 0.6.0 allows Remote Code Execution because an unpickle occurs when the "serializer: pickle" HTTP header is sent. In other words, although JSON (not Pickle) is the default data format, an unauthenticated client can cause the data to be processed with unpickle.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Automated analysis
critical priorityCVSS 9.8 with network reachability, no authentication or user interaction, public exploit code and very high EPSS make this an urgent remote code execution risk.
What it is
rpc.py through 0.6.0 deserializes request data with Python pickle when a client sends the HTTP header "serializer: pickle", even though JSON is the default format. Because pickle deserialization can execute arbitrary code, an unauthenticated remote client can achieve remote code execution on the server.
Impact
An attacker gains arbitrary code execution in the context of the rpc.py server process, leading to full compromise of confidentiality, integrity and availability of the host and any data it can reach.
Attack surface
Reachable over the network via HTTP requests to the rpc.py service; no authentication or user interaction is required, as the CVSS vector shows AV:N/PR:N/UI:N and the description states an unauthenticated client can trigger unpickling.
Exploitation
Public exploit code and write-ups are referenced (packetstormsecurity, ehtec/rpcpy-exploit, Medium), and EPSS is 0.46139 (98.7th percentile), indicating high likelihood of exploitation; CVE-2022-35411 is not listed in CISA KEV.
What to do
- Upgrade rpc.py past 0.6.0 to the patched version referenced in the vendor commit 491e7a841ed9a754796d6ab047a9fb16e23bf8bd.
- If upgrade is not immediately possible, block or strip the "serializer: pickle" HTTP header at the reverse proxy or WAF and reject requests carrying it.
- Restrict network access to the rpc.py service to trusted clients only.
- Run the rpc.py service with least privilege and in a sandboxed/containerized environment to limit the impact of code execution.
- Monitor for and remove any exposed rpc.py instances that cannot be patched or isolated.
Detection
- Search HTTP request logs for the header "serializer: pickle" or any non-default serializer value sent to rpc.py endpoints.
- Monitor for unexpected child processes, shell commands or outbound connections spawned by the rpc.py server process.
- Use application or network monitoring to alert on pickle-formatted payloads or unusually large binary request bodies to the rpc.py service.
- Review server logs for errors or crashes associated with deserialization of request data.
This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.
Affected products
1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.
References
| Link | Tags |
|---|---|
| http://packetstormsecurity.com/files/167872/rpc.py-0.6.0-Remote-Code-Execution.html | ExploitThird Party AdvisoryVDB Entry |
| https://github.com/abersheeran/rpc.py/commit/491e7a841ed9a754796d6ab047a9fb16e23bf8bd | PatchThird Party Advisory |
| https://github.com/ehtec/rpcpy-exploit | ExploitThird Party Advisory |
| https://medium.com/%40elias.hohl/remote-code-execution-0-day-in-rpc-py-709c76690c30 | Exploit |
| http://packetstormsecurity.com/files/167872/rpc.py-0.6.0-Remote-Code-Execution.html | ExploitThird Party AdvisoryVDB Entry |
| https://github.com/abersheeran/rpc.py/commit/491e7a841ed9a754796d6ab047a9fb16e23bf8bd | PatchThird Party Advisory |
| https://github.com/ehtec/rpcpy-exploit | ExploitThird Party Advisory |
| https://medium.com/%40elias.hohl/remote-code-execution-0-day-in-rpc-py-709c76690c30 | Exploit |
Track CVE-2022-35411 inside VULONE
Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.
Related vulnerabilities
Same products first, then exploited flaws of the same weakness class.
Source: NIST National Vulnerability Database (record CVE-2022-35411), CISA KEV, FIRST EPSS (scores of 2026-09-26). This page is refreshed as NVD updates the record.