CVE-2022-35411

rpc.py through 0.6.0 allows Remote Code Execution because an unpickle occurs when the "serializer: pickle" HTTP header is sent

published July 8, 2022

CVSS
—
EPSS
46%
Percentile
98.8
In the wild
Unconfirmed
What it is

🚨 A sneaky little header is the key to this one! An unauthenticated client can leverage the 'serializer: pickle' HTTP header to trigger a remote code execution vulnerability. 🔥 Think of it as a restaurant that usually serves food (JSON) but suddenly accepts a takeout order with a special request for a secret recipe (Pickle) without confirming it’s safe. The kitchen isn’t checking the request, and that could lead to some dangerous dishes being served! With this vulnerability, an attacker could execute arbitrary code on the server, potentially gaining full control over it. This means they could access sensitive data, manipulate operations, or even bring the server down, leading to disastrous consequences.

Put simply

Think of it as a restaurant that usually serves food (JSON) but suddenly accepts a takeout order with a special request for a secret recipe (Pickle) without confirming it’s safe. The kitchen isn’t checking the request, and that could lead to some dangerous dishes being served! This vulnerability in rpc.py allows unauthenticated remote code execution through unpickling based on a manipulated HTTP header, despite JSON being the default format.

What to do

With this vulnerability, an attacker could execute arbitrary code on the server, potentially gaining full control over it. This means they could access sensitive data, manipulate operations, or even bring the server down, leading to disastrous consequences. To mitigate this, ensure you upgrade rpc.py to a version later than 0.6.0 and avoid using unpickle with untrusted data. Additionally, validate all incoming headers to ensure they conform to expected formats. You've got this! With these steps, you can secure your application and keep those nefarious chefs at bay! 🛡️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.45724 · 98.8th percentile
Published
2022-07-08T18:07Z
EPSS history
Timeline
  • 08 JUL 18:07Z
    rpc.py through 0.6.0 allows Remote Code Execution because an unpickle occurs when the "serializer: pickle" HTTP header is sent
    cvelistv5