locus-x64
Source-scoped identity with 1 associated PoC and 1 linked vulnerability.
Exploit catalog results
Showing 1 PoC on this page
GitHublocus-x64/CVE-2025-61765_PoC
Repository PoCStars: 1Created 2025-10-17ExploitCVE-2025-6176511 files
Analysis
Technical assessment
The artifact contains two Python scripts that construct and deliver malicious pickle payloads to exploit CVE-2025-61765, a remote code execution vulnerability in python-socketio. One script publishes payloads directly to a Redis message queue; the other sends them via HTTP to a webhook that forwards to Redis. Both scripts include payload classes that use __reduce__ to execute arbitrary shell commands on the target Socket.IO server upon deserialization.
Backdoor review
No backdoor observed in reviewed code
The PoC demonstrates the disclosed CVE-2025-61765 pickle deserialization vulnerability against a target python-socketio server. The payloads execute commands on the target server to create evidence files, gather system information, and optionally install an SSH key. All behavior is consistent with the stated exploit and no concealed or misrepresented harm to the operator or unrelated systems was found.
Classification basis and observed behavior
Classification basis
Both Python scripts actively construct and deliver malicious pickle payloads designed to achieve remote code execution on a vulnerable python-socketio server. The code includes complete exploit logic: payload classes with __reduce__ for command execution, serialization with pickle.dumps, and delivery mechanisms (direct Redis publish or HTTP webhook). This is exploit code, not merely a scanner or writeup.
socketio_server/poc.py:19-25socketio_server/poc.py:113-125poc.py:66-89Requirements
- Attacker must have prior access to the Redis message queue used by the python-socketio multi-server deployment.
README.md:3 - The target python-socketio server must be configured to use a Redis backend and be subscribed to the targeted channel.
socketio_server/poc.py:154-155
Observed behavior
- Defines a PickleRCE class with a __reduce__ method that returns (subprocess.check_output, (command,)) to execute arbitrary commands upon deserialization.
socketio_server/poc.py:19-25 - Defines an EvidencePayload class that uses __reduce__ to execute a bash command creating files in /tmp/evidence/ to prove compromise.
socketio_server/poc.py:27-45 - Serializes payload objects with pickle.dumps and publishes them to a Redis channel, targeting python-socketio servers that will deserialize them via pickle.loads.
socketio_server/poc.py:113-125 - The second script (poc.py) sends the same serialized pickle payloads via HTTP POST to a /webhook endpoint, which then forwards them to Redis.
poc.py:66-89
Behaviors behind the backdoor verdict
Observables
- Command Execution
- Payload withheldSSHBackdoorPayload in poc.py installs an operator-supplied SSH public key on the target server, which is the disclosed RCE impact.
poc.py:19-36 - Command Execution
- Payload withheldEvidencePayload and InfoGatheringPayload in socketio_server/poc.py create evidence files and collect system information on the target server, consistent with the exploit demonstration.
socketio_server/poc.py:27-65 - Network Connection
- Payload withheldThe default webhook server URL in poc.py is localhost, indicating the operator runs the receiving server locally. No external data exfiltration is present.
poc.py:124
What the analysis did not establish
- Only 3 of 11 repository files were provided as text; 8 files are omitted. The omitted files may contain additional exploit variants, server code, or configuration.
- The evidence packet reports complete_artifact_coverage: false, so the full artifact content is not available for analysis.
- 8 files in the repository were not provided as text and were not analyzed; their content could contain additional behavior not visible in the reviewed evidence.
- The review does not assess whether the exploit works as claimed or whether the target server is actually vulnerable.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.