Technical assessment
Python 3 exploit for CVE-2026-59083, an Apache Tomcat RewriteValve URL decoding vulnerability. The script sends crafted HTTP GET requests with a literal '+' in the path to bypass security constraints and retrieve protected content.
Backdoor review
No backdoor observed in reviewed code
The PoC demonstrates a legitimate CVE-2026-59083 security constraint bypass against Apache Tomcat. The Python script sends crafted HTTP requests with a literal '+' in the path to trigger the vulnerability and checks for a known secret marker in the response. No backdoor, concealed payload, or operator-directed harm is present. The code uses only standard library modules, performs no persistence, exfiltration, or unrelated actions, and its behavior is fully explained by the documented vulnerability.
Model confidence98%
AuthenticationNot required
Languagespython
Target softwareApache Tomcat
Attack typessecurity control bypasspath traversal
Evidence & reasoningClassification basis · observed behavior · safety review
Technical evidenceClassification basis and observed behavior
Classification basis
The artifact poc/poc.py is explicitly described as an exploit in the README and its own header. It actively sends crafted requests to a target to trigger a vulnerability and retrieve protected content, which is the definition of an exploit.
README.md:101poc/poc.py:1-3Requirements
- Target Tomcat instance with a vulnerable RewriteValve configuration that carries user-controlled segments into rewritten paths and a serving layer that aliases plus and space forms.
README.md:22-38 - A lab environment with the vulnerable webapp deployed, as the exploit is designed to work against the provided Docker setup.
README.md:69-86
Observed behavior
- Sends baseline HTTP GET requests to /pages/admin/flag and /app/admin/flag to verify that the admin subtree is protected (expects 401/403).
poc/poc.py:70-77 - Sends an attack request to /pages/+admin/flag with a literal '+' in the path, which the vulnerable RewriteValve decodes to a space, bypassing security constraints.
poc/poc.py:80-86 - Sends a second attack request to /pages/%2Badmin/flag, where %2B is decoded to '+' by the connector, then the valve applies the same incorrect decode.
poc/poc.py:90-92 - Checks if the response body contains the secret marker 'SECRET{CVE-2026-59083-admin-flag}' and reports success or failure.
poc/poc.py:86-107
Safety-review evidenceBehaviors behind the backdoor verdict
Observables
- Url
- http://127.0.0.1:8080Target URL for the PoC; user-supplied via command line.
poc/poc.py:67 - Url
- http://127.0.0.1:8081Target URL for the patched control environment.
README.md:81 - String
- SECRET{CVE-2026-59083-admin-flag}Marker string used to confirm successful bypass; expected in response body.
poc/poc.py:48
Review boundariesWhat the analysis did not establish
- The evidence includes only three text files (README.md, poc/poc.py, poc_verification_report.md) from a larger directory. The Dockerfiles, webapp configuration, and other supporting files are not provided, so the full lab environment cannot be independently verified.
- The analysis is based solely on the supplied text; the code was not executed, and its behavior is inferred from the source code and documentation.
- Only the three selected text files were reviewed; 12 unclassified files (e.g., Dockerfiles, webapp configs) were not analyzed for text content, though their metadata was inspected and no binaries were flagged.
- The review does not execute the PoC or verify the exploit's effectiveness; it only assesses the supplied source code for backdoor behavior.
Model interpretationThis review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.