CVE-2022-35411 – rpc.py
Package
Manager: pip
Name: rpc.py
Vulnerable Version: >=0.4.2 <=0.6.0
Severity
Level: Critical
CVSS v3.1: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS: 0.70886 pctl0.98651
Details
rpc.py vulnerable to Deserialization of Untrusted Data 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. [Per the maintainer](https://github.com/abersheeran/rpc.py/issues/22), rpc.py is not designed for an API that is open to the outside world, and external requests cannot reach rpc.py in real world use. A [fix](https://github.com/abersheeran/rpc.py/commit/491e7a841ed9a754796d6ab047a9fb16e23bf8bd) exists on the `master` branch. As a workaround, use the following code to turn off pickle in older versions: ``` del SERIALIZER_NAMES[PickleSerializer.name] del SERIALIZER_TYPES[PickleSerializer.content_type]
Metadata
Created: 2022-07-09T00:00:19Z
Modified: 2024-04-22T21:11:25Z
Source: https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/07/GHSA-8rq8-f485-7v8x/GHSA-8rq8-f485-7v8x.json
CWE IDs: ["CWE-502", "CWE-522"]
Alternative ID: GHSA-8rq8-f485-7v8x
Finding: F096
Auto approve: 1