Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-48908 — Proof-of-Concept-Exploit für CVE-2026-48908, eine nicht authentifizierte RCE im Joomla SP Page Builder über beliebigen Datei-Upload, mit adaptiver Payload-Zustellung und Bereinigung. | Kitploit
Tools/GitHubGitHub/bayu06802/cve-2026-48908
SchwachstellenanalyseExploitationWebanwendungs-ExploitationCTFPenetrationstestsLernen & BildungPayload-Entwicklung
GitHubbayu06802/cve-2026-48908

CVE-2026-48908

Proof-of-Concept-Exploit für CVE-2026-48908, eine nicht authentifizierte RCE im Joomla SP Page Builder über beliebigen Datei-Upload, mit adaptiver Payload-Zustellung und Bereinigung.

Repository anzeigen
1vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-48908 — SP Page Builder (Joomla) Unauthenticated RCE

Proof-of-concept-Exploit für CVE-2026-48908, eine kritische (CVSS 4.0 = 10.0) nicht authentifizierte Remote-Code-Execution-Sicherheitslücke in der SP Page Builder-Komponente (com_sppagebuilder) für Joomla, von JoomShaper.

CVECVE-2026-48908
SchwachstelleCWE-284 Unzureichende Zugriffskontrolle → Nicht authentifizierter beliebiger Datei-Upload → RCE
KomponenteSP Page Builder (com_sppagebuilder) für Joomla
Betroffen1.0.0 – 6.6.1
Behoben in6.6.2
Erforderliche PrivilegienKeine (vor der Authentifizierung)
BenutzerinteraktionKeine

Beschreibung

SP Page Builder legt die Controller-Aufgabe asset.uploadCustomIcon offen, um das Hochladen eines benutzerdefinierten Icon-Schriftart-Pakets zu handhaben:

root@kitploit:~
index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon

In betroffenen Versionen ist diese Aufgabe ohne Authentifizierung und ohne ein gültiges Anti-CSRF-Token erreichbar. Sie akzeptiert ein ZIP-Archiv (Multipart-Feld custom_icon) und extrahiert dessen Inhalt in ein öffentlich über das Web bereitgestelltes Verzeichnis unterhalb des Dokumentenwurzelverzeichnisses:

root@kitploit:~
/media/com_sppagebuilder/assets/iconfont/<name>/   (einschließlich des fonts/-Unterordners)

Da der Upload vor der Authentifizierung erreichbar ist und die extrahierten Dateien im Web-Root landen, kann ein Angreifer vom Angreifer kontrollierte Dateien an einen durchsuchbaren Ort schreiben und über HTTP darauf zugreifen.

Ausführung von Code trotz des Erweiterungsfilters erreichen

Einige Builds fügen einen serverseitigen Dateinamenfilter für die Archiveinträge hinzu. Dieser PoC umgeht eine gängige Implementierung davon mit einer Dreistufen-Kette:

  1. Groß-/Kleinschreibungssensitive Blockliste. Der Filter lehnt kleingeschriebene .php, .phtml, .phar, .php3–.php8, .pht, .inc, … ab, aber er normalisiert die Groß-/Kleinschreibung nicht, sodass .PHP (und andere gemischte Schreibweisen) und .htaccess durchkommen.
  2. Groß-/Kleinschreibungssensitiver Web-Server-Handler. Ein standardmäßiger Apache-PHP-Handler (<FilesMatch "\.php$">) führt nur kleingeschriebenes .php aus, daher wird ein hochgeladenes .PHP zunächst als Quelltext ausgeliefert, nicht ausgeführt.
  3. .htaccess-Override. Ein .htaccess (den die Blockliste ebenfalls übersieht), der AddType application/x-httpd-php .PHP enthält, wird neben der Nutzlast abgelegt. Wo AllowOverride dies erlaubt, registriert dies .PHP als PHP und die hochgeladene Shell wird ausgeführt.

Der PoC packt immer eine gültige Icon-Schriftart-Struktur (selection.json, style.css, fonts/<name>.ttf) ein, damit der Upload akzeptiert wird, und fügt dann die Shell hinzu.

Adaptiv – er durchläuft eine Liste von PHP-ausführbaren Erweiterungen (geringster Footprint zuerst), dann einen .htaccess-Fallback und stoppt bei der ersten, die tatsächlich Code ausführt:

  1. Direkte Einzeldatei-Uploads — fonts/<shell>.<ext> für jede der php, php3, php4, php5, php7, pht, phtml, phar, PHP, pHp, Php. Kein .htaccess. Unterschiedliche SP-Page-Builder-Filter blockieren unterschiedliche Sätze, und unterschiedliche Apache-Konfigurationen führen unterschiedliche Erweiterungen aus – daher findet dies, welche Kombination das Ziel zulässt und ausführt.
  2. fonts/.htaccess + fonts/<shell>.PHP (Fallback) — nur wenn jeder direkte Versuch fehlschlägt. Der abgelegte .htaccess (AddType … .PHP) erzwingt, dass ein großgeschriebenes .PHP ausgeführt wird, wo AllowOverride dies erlaubt (das ist es, was 5.4.6-ähnliche Hosts benötigen).

Er stoppt bei der ersten Methode, die ausgeführt wird, und gibt an, welche gelandet ist. Jeder akzeptierte Upload wird nachverfolgt, sodass --cleanup alle entfernt (mehrere Versuche können schreibgeschützte Verzeichnisse hinterlassen).

Je nach Version und Serverhärtung variiert das Ergebnis, und der PoC gibt es explizit an (siehe Ergebnisse unten): vollständige RCE, nur Datei-Schreiben (PHP deaktiviert / AllowOverride None), gepatcht (nur Admin), oder nicht anfällig.

Voraussetzungen

root@kitploit:~
pip install -r requirements.txt   # requests

Verwendung

root@kitploit:~
# die Sicherheitslücke bestätigen und Code-Ausführung nachweisen (führt `id` aus)
python3 sppb_rce.py https://target.example

# einen bestimmten Befehl ausführen
python3 sppb_rce.py --url target.example -c "uname -a"

# interaktive Pseudo-Shell
python3 sppb_rce.py https://target.example --shell

# nur prüfen; keinen Befehl ausführen
python3 sppb_rce.py https://target.example --check

# das hochgeladene Nutzlastverzeichnis danach entfernen
python3 sppb_rce.py https://target.example --cleanup

Das Ziel kann als positionsabhängiges Argument oder über --url angegeben werden, mit oder ohne Schema.

Beispiel (saniert)

root@kitploit:~
[*] target   : https://target.example
[*] endpoint : index.php?option=com_sppagebuilder&task=asset.uploadCustomIcon
[*] try .php            -> rejected by filter
[*] try .php3           -> rejected by filter
...
[*] try .PHP            -> uploaded, not executed
[*] try .htaccess+.PHP  -> EXECUTED
[+] CODE EXECUTION CONFIRMED via '.htaccess+.PHP' (echo 7*6 -> 42)
[*] running: id
------------------------------------------------------------
uid=33(www-data) gid=33(www-data) groups=33(www-data)
------------------------------------------------------------
[*] cleanup: done (4 dirs)

Ergebnisse (und Exit-Codes)

Der PoC teilt Ihnen immer das Urteil für das Ziel mit:

AusgabeBedeutungExit
CODE EXECUTION CONFIRMED via '<method>'Anfällig – vollständige unauth RCE0
[~] PARTIALLY VULNERABLE — unauth file-write works, but PHP did NOT executeNur Datei-Schreiben (AllowOverride None / PHP deaktiviert in /media)3
[-] TARGET NOT VULNERABLE — SP Page Builder is patched (6.6.2+)Gepatcht – Upload erfordert jetzt Admin-Authentifizierung1
[-] TARGET NOT VULNERABLE — every upload was rejected, or SP Page Builder is absent/patchedNicht ausnutzbar / Komponente nicht vorhanden2

Sicherheitsfunktionen

  • Die abgelegte Web-Shell ist durch ein zufälliges, pro-Lauf eindeutiges Token geschützt und gibt 404 für jeden ohne dieses Token zurück – sie ist kein weltweit offener Hintertür.
  • --cleanup löscht das von ihm erstellte Nutzlastverzeichnis.
  • Standardaktionen sind harmlos (id, ein arithmetischer Marker).

Abhilfe

  1. Aktualisieren Sie SP Page Builder auf 6.6.2 oder höher (fügt Authentifizierungs-, Autorisierungs- und CSRF-Prüfungen für die Upload-Aufgabe hinzu). Dies ist die primäre Fehlerbehebung.
  2. Defense-in-depth auf dem Webserver:
    • Deaktivieren Sie die PHP-Ausführung in Upload-Verzeichnissen (/media/, /images/, /tmp) über den FPM-Pool oder php_admin_flag engine off.
    • Setzen Sie AllowOverride None auf diesen Verzeichnissen, damit ein abgelegter .htaccess keine Handler wieder aktivieren kann.
    • Verwenden Sie eine Groß-/Kleinschreibungsunabhängige Positivliste für Upload-Erweiterungen, niemals eine Negativliste.
  3. Überprüfung unter der Annahme eines Einbruchs: Suchen Sie nach unerwarteten .php/.PHP unter media/.../iconfont/, neuen Super User- Konten und eingeschleusten Dateimanagern.

Referenzen

  • NVD — CVE-2026-48908
  • CVE.org-Eintrag — CVE-2026-48908
  • Technischer Artikel — SP Page Builder uploadCustomIcon RCE (mySites.guru)
  • Hersteller — JoomShaper SP Page Builder (Sicherheitsupdate in 6.6.2)
  • SP Page Builder — Joomla Extensions Directory

Keywords

Joomla SP Page Builder Exploit · com_sppagebuilder unauthenticated RCE · CVE-2026-48908 PoC · asset.uploadCustomIcon beliebiger Datei-Upload · Joomla Remote Code Execution · Pentest-Exploit-Skript.

HAFTUNGSAUSSCHLUSS

Diese Software wird nur für Bildungszwecke und autorisierte Sicherheitstests veröffentlicht – z. B. Penetrationstests, für die Sie schriftliche Genehmigung haben, Bug-Bounty-Programme, die das Ziel im Rahmen enthalten, CTF-Wettbewerbe und Ihre eigenen Laborsysteme.

Der Zugriff auf, die Änderung oder Störung von Computersystemen ohne Autorisierung ist in den meisten Rechtsordnungen illegal. Sie sind allein und vollständig für Ihre eigenen Handlungen verantwortlich. Durch die Nutzung, das Herunterladen oder die Verbreitung dieses Codes stimmen Sie zu, dass:

  • Sie ihn nur gegen Systeme einsetzen werden, die Ihnen gehören oder für die Sie ausdrückliche, dokumentierte Genehmigung zum Testen haben;
  • die Autoren und Mitwirkenden keine Haftung für Schäden, Datenverlust, Dienstunterbrechungen oder rechtliche Konsequenzen übernehmen, die aus der Nutzung oder dem Missbrauch dieses Codes entstehen;
  • dieses Material "WIE BESEHEN", ohne jegliche Gewährleistung, weder ausdrücklich noch stillschweigend, bereitgestellt wird.

Wenn Sie mit diesen Bedingungen nicht einverstanden sind, verwenden Sie diese Software nicht. Wie bei jedem öffentlich verfügbaren Exploit/PoC wird es in gutem Glauben geteilt, um Verteidigern zu helfen, die Sicherheitslücke zu erkennen, zu verstehen und zu beheben; was Sie damit tun, liegt bei Ihnen.

Lizenz

MIT – siehe LIZENZ.

Tool herunterladen