yora1928
Source-scoped identity with 1 associated PoC and 1 linked vulnerability.
Exploit catalog results
Showing 1 PoC on this page
GitHubyora1928/CVE-2026-48908-by-yora
Repository PoCStars: 1Created 2026-08-12ExploitCVE-2026-489086 files
Analysis
Technical assessment
The artifact is a Python-based tool that detects vulnerable Joomla SP Page Builder instances (CVE-2026-48908) and, when the --exploit flag is used, actively uploads a PHP webshell to achieve remote code execution. The scanner.py file contains a complete Exploiter class that builds a ZIP archive with a PHP payload, uploads it to the vulnerable endpoint, and executes commands on the target.
Backdoor review
No backdoor observed in reviewed code
The repository contains a scanner and PoC for CVE-2026-48908. The Python code (scanner.py) performs detection, version fingerprinting, and an optional adaptive exploit that uploads a PHP webshell to confirm RCE. The webshell is token-protected and executes only the command supplied via the 'c' parameter. No concealed backdoor, credential theft, persistence mechanism, or unrelated payload was observed. The tool's behavior is consistent with its stated purpose of vulnerability validation.
Classification basis and observed behavior
Classification basis
The scanner.py file contains a complete Exploiter class that actively uploads a PHP payload and executes commands on the target, which is the definition of an exploit. The README.md describes the tool as a 'Scanner + PoC (Safe Exploit)' and provides instructions for using the --exploit flag to achieve RCE.
scanner.py:319-428README.md:2README.md:97-101Requirements
- Target must be running a vulnerable version of SP Page Builder (<=6.6.1) with the uploadCustomIcon endpoint accessible without authentication.
scanner.py:37scanner.py:44
Observed behavior
- The tool fingerprints the target to detect Joomla and SP Page Builder, then validates the vulnerable endpoint. If the --exploit flag is set and the target is classified as CONFIRMED, it attempts to upload a ZIP file containing a PHP webshell via the asset.uploadCustomIcon endpoint. It then accesses the uploaded shell to execute a test command (echo SPPB-RCE-$((7*6))) and confirms RCE if the output contains 'SPPB-RCE-42'.
scanner.py:319-428scanner.py:455-473 - The exploit attempts multiple PHP file extensions and a .htaccess trick to bypass upload filters.
scanner.py:383-390 - The uploaded PHP shell is token-protected and executes arbitrary system commands passed via the 'c' GET parameter.
scanner.py:325-326
Behaviors behind the backdoor verdict
Observables
- Webshell Upload
- Payload withheldThe exploit uploads a PHP file that executes arbitrary commands, but this is the expected PoC behavior for demonstrating RCE. The shell is token-protected and only runs commands passed via the 'c' parameter.
scanner.py:325-326 - Command Execution
- Payload withheldThe exploit verifies RCE by executing a harmless arithmetic command. This is a standard PoC technique and does not indicate malicious intent.
scanner.py:408 - Cleanup Instructions
- Payload withheldThe tool provides manual cleanup instructions rather than automatically deleting files, which is a responsible disclosure practice.
scanner.py:430-439
What the analysis did not establish
- The evidence packet reports complete_artifact_coverage as false, indicating that not all files from the repository were included. Three text files (README.md, requirements.txt, scanner.py) are provided, but three additional files are omitted. The omitted files are described as 'detection/', 'poc/', and 'reports/' directories in the README, but their contents are unknown and could contain additional exploit or scanner code.
- Three files (SECURITY.md, LICENSE, and directories detection/, poc/, reports/) were not included in the text evidence; their content is unknown. However, the primary executable logic is in scanner.py, which was fully reviewed.
- Binary content was not analyzed, but no binary files were identified in the artifact.
This review is limited to the supplied PoC code and context. It does not assert that the code works or is safe to execute.