SP Page Builder (Joomla) Unauthenticated File Upload RCE (CVE-2026-48908)
Published: 2026-06-30 • Researcher: Ashraf Zaryouh / 0xBlackash (initial PoC); root-cause/ITW payload research: mysites.guru; mass-scan PoC: ayiezola (fork of papageo75/CVE-2026-48908-PoC)
Exploitation signals
Confirmed exploited in the wild. Added to CISA KEV 2026-07-07. Federal remediation deadline 2026-07-10.
EPSS 88.1% · 100th percentile
- Severity
- Critical
- CVE
- CVE-2026-48908 (GHSA-8fwr-8fxr-8v2p)
- Category
- web
- Affected product
- SP Page Builder extension for Joomla (joomshaper.net)
- Affected versions
- 1.0.0 through 6.6.1
- Disclosed
- 2026-06-30
- Patch status
- Patched
Tags
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-48908
- https://github.com/advisories/GHSA-8fwr-8fxr-8v2p
- https://mysites.guru/blog/sp-page-builder-zero-day-uploadcustomicon-rce/
- https://www.cisa.gov/news-events/alerts/2026/07/07/cisa-adds-three-known-exploited-vulnerabilities-catalog
- https://thehackernews.com/2026/07/cisa-adds-4-actively-exploited-adobe.html
- https://github.com/0xBlackash/CVE-2026-48908
- https://github.com/ayiezola/CVE-2026-48908
- https://www.joomshaper.com/page-builder
Archive entry
intelseclab/poc-archiveOn this page
Metadata
| Field | Value |
|---|---|
| Date Added | 2026-06-30 |
| Last Updated | 2026-07-11 |
| Author / Researcher | Ashraf Zaryouh / 0xBlackash (initial PoC); root-cause/ITW payload research: mysites.guru; mass-scan PoC: ayiezola (fork of papageo75/CVE-2026-48908-PoC) |
| CVE / Advisory | CVE-2026-48908 (GHSA-8fwr-8fxr-8v2p) |
| Category | web |
| Severity | Critical |
| CVSS Score | 10.0 (CVSSv4, Joomla! Project CNA; AV:N/AC:L/AT:N/PR:N/UI:N) — also reported as 9.8 under CVSS 3.1 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Status | Weaponized — public PoC with mass-scan support, added to CISA KEV 2026-07-07, confirmed active in-the-wild exploitation |
| Tags | RCE, unauthenticated, file-upload, PHP-webshell, Joomla, CMS, access-control, Python, CVSS-10, kev, backdoor, cwe-434 |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | SP Page Builder extension for Joomla (joomshaper.net) |
| Versions Affected | 1.0.0 through 6.6.1 |
| Language / Platform | Python (PoC); PHP / Joomla (target) |
| Authentication Required | No (unauthenticated) |
| Network Access Required | Yes (HTTP/HTTPS) |
Summary
CVE-2026-48908 is a CVSS 10.0 unauthenticated remote code execution vulnerability in SP Page Builder, one of the most widely used Joomla page-builder extensions (joomshaper.net). The asset.uploadCustomIcon endpoint enforces no authentication, no authorisation, and no file-type restrictions, allowing any unauthenticated attacker to upload a crafted IcoMoon ZIP archive containing a PHP web shell. The uploaded shell is immediately accessible and provides full server-side code execution. Fixed in SP Page Builder 6.6.2.
Update (2026-07-11): CISA added this CVE to its Known Exploited Vulnerabilities (KEV) catalog on 2026-07-07, citing confirmed active exploitation. Researchers at mysites.guru documented real-world payloads that go well beyond a bare webshell: attackers plant hidden Super Administrator accounts and a full PHP file-manager backdoor for durable, re-enterable access (details below). A second, mass-scan-capable public PoC (ayiezola/CVE-2026-48908, forked from papageo75/CVE-2026-48908-PoC) has also since surfaced.
Vulnerability Details
Root Cause
The com_sppagebuilder component exposes the asset.uploadCustomIcon task to unauthenticated HTTP requests. The handler:
- Does not check Joomla session tokens or user authentication state.
- Does not validate or restrict the file types within the uploaded ZIP archive.
- Extracts uploaded archive contents directly to the web root, making PHP files web-accessible.
CWE-284 (Improper Access Control).
Attack Steps
- Identify target running SP Page Builder 1.0.0 – 6.6.1.
- Create an IcoMoon-format ZIP archive containing a PHP web shell (e.g.,
cmd.php). - POST the archive to
/?option=com_sppagebuilder&task=asset.uploadCustomIcon. - The server extracts the ZIP; the PHP file lands in a web-accessible directory.
- Send HTTP GET/POST to the uploaded shell URL to execute arbitrary OS commands.
Impact
- Full unauthenticated remote code execution as the web server user.
- Database credential theft, lateral movement to backend systems.
- Persistent access via web shell survival across deployments.
- Administrative takeover of the Joomla instance.
- Observed in-the-wild payload (per mysites.guru, post-KEV-listing): attackers are not stopping at a bare webshell. They create hidden Super Administrator accounts from a hardcoded username list (
webeditor,contentmgr,sysadmin,webmaster,portaladmin,siteeditor,webmanager,cmsadmin, each suffixed with two digits) usingusername@secure.localemail addresses — the dropper connects directly to the Joomla database, disables strict SQL mode, inserts the account into the Super Users group, and creates the matching Joomla asset rows so the account behaves like a native admin. They also deploy a “PHP File manager ver 1.4” backdoor (file browser, PHP console, SQL console) in multiple copies, typically under/images/<random>/fonts/and as/media/com_admin/users.php, giving durable, re-enterable full-server access independent of the original upload path — meaning removing the original webshell alone does not clean the site.
Environment / Lab Setup
Target: Joomla CMS + SP Page Builder 1.0.0 – 6.6.1
Attacker: Python 3 with requests libraryProof of Concept
Run
| |
Expected Output
[*] Target: https://target.example.com
[*] Uploading malicious IcoMoon ZIP...
[+] Upload successful.
[+] Web shell accessible at: https://target.example.com/components/com_sppagebuilder/assets/icons/cmd.php
[*] Testing RCE: id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
[+] RCE confirmed.Detection & Indicators of Compromise
| |
Remediation
| Action | Detail |
|---|---|
| Patch | Upgrade SP Page Builder to 6.6.2 or later, which adds authentication (Joomla admin / component-manage permission) and anti-CSRF token checks to every controller task, including asset.uploadCustomIcon. |
| Incident response if already compromised | Patching alone is insufficient — audit jos_users for unrecognized Super Administrator accounts (esp. @secure.local), and search the entire webroot (not just the icon upload directory) for planted PHP file-manager copies before considering the site clean. |
| Audit | Scan upload directories for unexpected PHP files; remove any found |
| WAF | Block POST requests to task=asset.uploadCustomIcon for unauthenticated users |
| Harden | Disable ZIP extraction into web-accessible directories at the server level; disable PHP execution under /media and /images via web server config |
References
- NVD - CVE-2026-48908
- GHSA-8fwr-8fxr-8v2p — GitHub Security Advisory
- mysites.guru writeup
- CISA — Known Exploited Vulnerabilities Catalog additions, 2026-07-07
- The Hacker News — CISA Adds 4 Actively Exploited Adobe, Joomla, and Langflow Flaws to KEV
- PoC - 0xBlackash/CVE-2026-48908
- PoC (mass-scan variant) - ayiezola/CVE-2026-48908
- SP Page Builder vendor
Notes
Updated 2026-07-11 during a CVE discovery pass (NVD + CISA KEV + EPSS scoring): added CISA KEV listing (2026-07-07), the observed in-the-wild backdoor payload (hidden Super Administrator accounts + PHP file-manager backdoor) per mysites.guru’s research, and a second public PoC repo. Deliberately merged into this existing entry rather than creating a duplicate, since it documents the same CVE/root cause — just a later stage of the same disclosure’s lifecycle — not an independently-discovered variant.
| |