PbootCMS Authenticated RCE via sitecopyright Field (CVE-2026-36239)
by TazmiDev · 2026-07-05
- Severity
- Critical
- CVE
- CVE-2026-36239
- Category
- web
- Affected product
- PbootCMS
- Affected versions
- v3.2.12
- Disclosed
- 2026-07-05
- Patch status
- unpatched
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-05 |
| Author / Researcher | TazmiDev |
| CVE / Advisory | CVE-2026-36239 |
| Category | web |
| Severity | Critical |
| CVSS Score | Not specified in source |
| Status | Weaponized |
| Tags | pbootcms, rce, authenticated, code-injection, template-injection, cwe-94 |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | PbootCMS |
| Versions Affected | v3.2.12 |
| Language / Platform | Python (target: PHP) |
| Authentication Required | Yes (authenticated administrator) |
| Network Access Required | Yes (HTTP to PbootCMS admin backend) |
Summary
PbootCMS’s decode_string() function in apps/home/controller/ParserController.php sequentially applies stripcslashes() then htmlspecialchars_decode() to the “Footer Information” (sitecopyright) admin field, which effectively reverses HTML-entity encoding and escape sequences — restoring executable PHP code that is then echoed directly into frontend template output via the {{pboot:sitecopyright}} tag without validation, giving an authenticated administrator full remote code execution.
Vulnerability Details
Root Cause
decode_string()’s combination of stripcslashes() + htmlspecialchars_decode() un-escapes attacker-supplied content, and the resulting string is echoed into rendered templates without sandboxing.
Attack Vector
- Authenticate to the PbootCMS admin backend (via valid/compromised/social-engineered credentials).
- Set the “Footer Information” (sitecopyright) field to a crafted, doubly-encoded PHP payload.
- Visit any frontend page using the
{{pboot:sitecopyright}}template tag — the decoded PHP payload executes server-side.
Impact
Full server compromise (RCE) by any authenticated PbootCMS administrator account.
Environment / Lab Setup
Target: PbootCMS v3.2.12 admin backend
Attacker: Python 3 + requests, valid PbootCMS admin credentials
Proof of Concept
PoC Script
See
poc.pyin this folder.
| |
Authenticates to the admin backend, sets the sitecopyright field with an encoded PHP payload, and triggers execution via a frontend page render.
Detection & Indicators of Compromise
Signs of compromise:
- Unusual PHP code patterns decoded from the sitecopyright/footer configuration field
- Unexpected system commands executed by the PbootCMS web process
Remediation
| Action | Detail |
|---|---|
| Primary fix | Update PbootCMS beyond v3.2.12 once a vendor patch addressing decode_string() is available |
| Interim mitigation | Restrict admin backend access to trusted networks/IPs; audit and sanitize the Footer Information field |
References
Notes
Mirrored from https://github.com/TazmiDev/CVE-2026-36239 on 2026-07-05.
| |