Skip to main content
VulnerabilityPublished Updated

CVE-2025-61765: miguelgrinberg python-socketio · Deserialization of Untrusted Data

Affects miguelgrinberg python-socketioSource CVE Database V5

0

Not known to be exploited · CVSS 6.4 Medium · fixed in 5.14.0 : update miguelgrinberg python-socketio when convenient.

Data as of 26 Oct 2026, 17:16 UTC

CVSS 3.1 base score
6.4Medium
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 41% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 5.14.0
CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:L

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 6 Oct 2025

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponised: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.

What to do

AI-suggested

  1. Upgrade all python-socketio deployments to version 5.14.0 or later, which replaces pickle serialization with JSON encoding, eliminating the unsafe deserialization vector.
  2. Harden message queue infrastructure (e.g., Redis) by enforcing strong authentication, network segmentation, and access controls to prevent unauthorized access.
  3. Monitor message queue access logs for suspicious activity indicative of compromise or unauthorized message injection.
  4. Implement network-level controls such as firewall rules and VPNs to restrict access to message queues only to trusted servers.
  5. Conduct regular security audits and penetration testing focused on message queue security and inter-server communication channels.
  6. Consider deploying intrusion detection/prevention systems that can detect anomalous message queue traffic or unusual deserialization attempts.
  7. For legacy systems where immediate upgrade is not feasible, isolate message queues in secure network zones and restrict access to minimize risk.
  8. Educate development and operations teams about the dangers of unsafe deserialization and the importance of secure inter-process communication.
  9. Review and update incident response plans to include scenarios involving message queue compromise and python-socketio exploitation.
  10. Stay informed about any emerging exploits or patches related to this vulnerability.

Description

python-socketio is a Python implementation of the Socket.IO realtime client and server. A remote code execution vulnerability in python-socketio versions prior to 5.14.0 allows attackers to execute arbitrary Python code through malicious pickle deserialization in multi-server deployments on which the attacker previously gained access to the message queue that the servers use for internal communications. When Socket.IO servers are configured to use a message queue backend such as Redis for inter-server communication, messages sent between the servers are encoded using the `pickle` Python module. When a server receives one of these messages through the message queue, it assumes it is trusted and immediately deserializes it. The vulnerability stems from deserialization of messages using Python's `pickle.loads()` function. Having previously obtained access to the message queue, the attacker can send a python-socketio server a crafted pickle payload that executes arbitrary code during deserialization via Python's `__reduce__` method. This vulnerability only affects deployments with a compromised message queue. The attack can lead to the attacker executing random code in the context of, and with the privileges of a Socket.IO server process. Single-server systems that do not use a message queue, and multi-server systems with a secure message queue are not vulnerable. In addition to making sure standard security practices are followed in the deployment of the message queue, users of the python-socketio package can upgrade to version 5.14.0 or newer, which remove the `pickle` module and use the much safer JSON encoding for inter-server messaging.

References

Community reviews

Loading reviews…