shinthink/CVE-2026-13001
PoC files
5 filesFile viewing is interactive and short-lived. Downloads are password-protected ZIP archives using password eip.
Analysis
Technical assessment
The artifact is a Python-based exploit for CVE-2026-13001, an unauthenticated arbitrary file upload vulnerability in the Podlove Podcast Publisher WordPress plugin. It detects vulnerable installations, uploads a GIF89a PHP polyglot web shell by exploiting a file extension validation mismatch, and executes commands on the target server.
Backdoor review
No backdoor observed in reviewed code
The repository contains a proof-of-concept exploit for CVE-2026-13001, an unauthenticated arbitrary file upload vulnerability in the Podlove Podcast Publisher WordPress plugin. The Python script (cve_2026_13001.py) implements the disclosed exploit: it detects the plugin, uploads a GIF89a PHP polyglot shell via the vulnerable image cache endpoint, and verifies remote code execution. The README documents the same behavior. All actions are consistent with the stated exploit purpose. No concealed or materially misrepresented behavior that harms the operator or an unrelated system was found. The script includes a built-in payload server for convenience, which is disclosed in the help text. No hidden data exfiltration, unrelated payloads, or deceptive credential handling is present.
Classification basis and observed behavior
Classification basis
The primary Python script (cve_2026_13001.py) actively exploits the vulnerability by uploading a PHP web shell and executing commands on the target. It goes beyond detection by deploying a payload and achieving remote code execution, which is the defining characteristic of an exploit.
cve_2026_13001.py:182-251cve_2026_13001.py:239-243Requirements
- A target running Podlove Podcast Publisher <= 4.5.1
cve_2026_13001.py:160-180 - An attacker-controlled server hosting a PHP polyglot payload (or use of the built-in --serve option)
cve_2026_13001.py:327-330
Observed behavior
- Detects the Podlove plugin by fetching readme.txt or podlove.php and parsing the version
cve_2026_13001.py:160-180 - Constructs a bypass URL (e.g., http://attacker.com/shell.php?.gif) to exploit the is_image() vs extract_file_extension() mismatch
cve_2026_13001.py:187-193 - Triggers the vulnerable podlove_image_cache_url endpoint to download and save the polyglot as a .php file in the cache directory
cve_2026_13001.py:199-204 - Verifies shell deployment by accessing the uploaded file and checking for the web shell interface
cve_2026_13001.py:211-216 - Executes system commands (id;hostname;uname -a) on the target via the deployed web shell to confirm RCE
cve_2026_13001.py:239-243 - Optionally cleans up by deleting the uploaded shell file
cve_2026_13001.py:244-246 - Supports mass scanning of multiple targets with concurrent threads and progress reporting
cve_2026_13001.py:254-304
Behaviors behind the backdoor verdict
Observables
- Exploit Behavior
- Uploads a PHP polyglot shell to the target WordPress site via the podlove_image_cache_url parameter.This is the core disclosed exploit for CVE-2026-13001. The script generates a GIF89a PHP polyglot, triggers the vulnerable endpoint to download it, and verifies RCE.
cve_2026_13001.py:182-221 - Exploit Behavior
- Built-in HTTP server to host the polyglot payload locally.The PayloadServer class starts a local HTTP server to serve the polyglot payload, simplifying exploitation when the operator does not have a remote server. This is disclosed via the --serve argument.
cve_2026_13001.py:91-123cve_2026_13001.py:329-330 - Exploit Behavior
- Self-cleanup of uploaded shell after RCE verification.The script deletes the uploaded shell from the target by default (--no-cleanup disables this). This is a disclosed feature to reduce forensic footprint.
cve_2026_13001.py:244-246
What the analysis did not establish
- The evidence includes only the README.md, cve_2026_13001.py, and requirements.txt files. Two additional files in the repository were omitted from the packet, but the selected text files are complete and sufficient for classification.
- The artifact's behavior is analyzed from source code only; no execution or dynamic analysis was performed.
- Two files (unclassified, 2600 bytes total) were not provided as text and were not analyzed; their metadata does not indicate executable or script content.
- The review does not assess the validity of the CVE or the exploit's effectiveness against live targets.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.