
Automatisierter RCE-Exploit für Joomla JCE (CVE-2026-48907) mit interaktiver Shell, Batch-Befehlsausführung, Dateidownload und Proxy-Unterstützung für autorisierte Penetrationstests.
Ein professionelles Kommandozeilen-Dienstprogramm für autorisierte Penetrationstests, kontrollierte Schwachstellenforschung und defensive Validierung.
Nur für autorisierte Nutzung. Führen Sie dieses Projekt ausschließlich gegen Systeme aus, die Ihnen gehören oder für die Sie ausdrücklich testen dürfen. Verwenden Sie nach Möglichkeit eine kontrollierte Laborumgebung.

JCEzploit ist ein Kommandozeilen-Dienstprogramm für die Sicherheitsforschung, mit dem die Profilimport-Funktionalität der Komponente Joomla Content Editor (JCE) in Umgebungen bewertet wird, in denen der Tester über eine ausdrückliche Autorisierung verfügt. Es wurde für professionelle Penetrationstester, Sicherheitsforscher und Verteidiger entwickelt, die einen gemeldeten Zustand der Remote-Codeausführung in einer kontrollierten Umgebung reproduzieren und validieren müssen.
Das Projekt bietet einen strukturierten Kommandozeilen-Workflow, konfigurierbare Proxy-Unterstützung, mehrere Ausführungsmodi, Diagnoseausgabe und eine interaktive Sitzungsoberfläche. Es sollte ausschließlich gegen Ziele eingesetzt werden, die dem Betreiber gehören oder durch eine schriftliche Testgenehmigung abgedeckt sind.
Hinweis zur Veröffentlichung: Verifizieren Sie vor der Veröffentlichung oder Verbreitung dieser README die CVE-Kennung des Projekts, den Bereich der betroffenen Versionen, die behobene Version, den Offenlegungsstatus und die Testmatrix anhand eines maßgeblichen Hersteller- oder Schwachstellendatenbankeintrags. Die nachstehenden Metadaten spiegeln die gelieferten Projektinformationen wider und sind nicht als unabhängige Schwachstellenbestätigung zu betrachten.
Diese Software kann unbefugten Zugriff, Datenoffenlegung, Dienstunterbrechungen oder die Kompromittierung von Systemen verursachen, wenn sie gegen ein nicht genehmigtes Ziel eingesetzt wird. Die Betreuer autorisieren keine Tests von Drittsystemen, öffentlicher Infrastruktur oder Systemen ohne dokumentierte Genehmigung.
Durch die Nutzung dieses Projekts stimmen Sie zu:
Nur Systeme zu testen, für die Sie eine ausdrückliche schriftliche Autorisierung besitzen.
Einen genehmigten Umfang, ein genehmigtes Zeitfenster, eine genehmigte Ratenbegrenzung und genehmigte Verhaltensregeln festzulegen und einzuhalten.
Den Zugriff auf, die Änderung von, die Exfiltration von oder das Aufbewahren unnötiger Daten zu vermeiden.
Tests sofort zu beenden, wenn die Aktivität Dienstunterbrechungen riskiert oder unbeteiligte Benutzer beeinträchtigt.
Alle geltenden Gesetze, Vorschriften, Verträge und organisatorischen Richtlinien einzuhalten.
Die Verantwortung für die Folgen Ihrer Nutzung der Software zu übernehmen.
Der Autor und die Mitwirkenden stellen dieses Projekt ohne Gewähr („as is“) bereit und sind nicht verantwortlich für Missbrauch, Schäden, Datenverlust, Rechtsansprüche oder andere Folgen, die sich aus seiner Nutzung ergeben.
Die folgenden Details wurden mit dem Projekt geliefert und erfordern eine unabhängige Verifizierung, bevor sie in einem Sicherheitshinweis oder einer Produktionsbewertung verwendet werden.
| Feld | Geliefertes Projektdetail |
|---|---|
| Schwachstellenkennung | CVE-2026-48907 |
| Gemeldetes Problem | Nicht authentifizierte Remote-Codeausführung |
| Gemeldete betroffene Versionen | JCE 1.0.0 bis 2.9.99.4 |
| Gemeldete behobene Version | JCE 2.9.99.5 |
| Gelieferte Testumgebung | Joomla 3.10.11, JCE 2.9.15, Apache 2.4, PHP 7.4 |
| Gemeldeter Schweregrad | Kritisch; potenzielle vollständige Systemkompromittierung |
Bestätigen Sie für Verteidigungsarbeiten zunächst die eingesetzten Joomla- und JCE-Versionen, holen Sie eine Autorisierung ein, erstellen Sie einen Rollback-Plan und bevorzugen Sie nach Möglichkeit eine nicht-destruktive Validierungsmethode.
JCEzploit umfasst die folgenden Funktionen, wie in den Projektmaterialien beschrieben:
| Bereich | Funktion |
|---|---|
| Workflow | Automatisierter Workflow zur Anfragevorbereitung und Schwachstellenvalidierung |
| Sitzungsoberfläche | Interaktive Befehlssitzung mit Verlauf, Vervollständigung und farbiger Ausgabe |
| Ausführungsmodi | Interaktive, Einzelbefehls-, Batch-, stille, ausführliche und debugorientierte Modi |
| Erkennung | CSRF-Token-Erkennung mit mehreren Fallback-Mustern |
| Netzwerksteuerung | HTTP/HTTPS-Proxy-Unterstützung für kontrollierte Anfrageprüfung |
| Zuverlässigkeit | Verbindungspooling, Timeouts und Fehlerbehandlung |
| Dateioperationen | Dateiabruffunktion für autorisierte Bewertungsszenarien |
| Plattformunterstützung | Linux-, macOS- und Windows-Umgebungen mit Python 3.6+ |
Die interaktive Oberfläche unterstützt unter anderem die folgenden Befehle. Verwenden Sie in genehmigten Testumgebungen ausschließlich nicht-destruktive Befehle.
$> whoami # Display the execution identity
$> id # Display user and group information
$> pwd # Display the current working directory
$> exit # Close the session
| Anforderung | Mindest- oder unterstützter Wert |
|---|---|
| Python | 3.6 oder neuer |
| Paketmanager | pip |
| Betriebssysteme | Linux, macOS oder Windows |
| Netzwerkzugriff | Nur erforderlich zum Installieren von Abhängigkeiten und zum Erreichen eines autorisierten Testziels |
Der genaue Abhängigkeitssatz ist in requirements.txt definiert. Verwenden Sie eine virtuelle Umgebung, um Projektabhängigkeiten vom Hostsystem zu isolieren.
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
cd JCEzploit-CVE-2026-48907
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
chmod +x jcezploit.py
git clone https://github.com/CerberusMrXi/JCEzploit-CVE-2026-48907.git
Set-Location JCEzploit-CVE-2026-48907
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements.txt
Wenn PowerShell-Ausführungsrichtlinien die Aktivierung verhindern, konsultieren Sie die Endpunktverwaltungsrichtlinie Ihrer Organisation, anstatt Sicherheitskontrollen global zu schwächen. Das Skript kann auch direkt über den Interpreter der virtuellen Umgebung aufgerufen werden.
pip install pipenv
pipenv install requests rich
pipenv shell
python jcezploit.py --help
Wenn das Repository ein gepflegtes Dockerfile enthält, bauen und führen Sie es in einer isolierten, autorisierten Laborumgebung aus:
docker build -t jcezploit .
docker run --rm -it jcezploit --help
Mounten Sie keine sensiblen Host-Verzeichnisse, Produktionsanmeldedaten oder uneingeschränktes Host-Netzwerk in den Container.
Beginnen Sie immer mit der Überprüfung des Zielumfangs und der Anzeige der integrierten Hilfe:
python jcezploit.py --help
Die gelieferte Befehlszeilenschnittstelle ist unten zusammengefasst.
usage: jcezploit.py [-h] -u URL [--proxy PROXY] [-v] [-q]
[--cmd CMD] [--interactive] [--batch FILE]
[--no-confirm]
JCEzploit - Joomla JCE security testing utility
options:
-h, --help Show this help message and exit
-u, --url URL Authorized target base URL (required )
--proxy PROXY HTTP proxy, for example http://127.0.0.1:8080
-v, --verbose Enable diagnostic output
-q, --quiet Suppress non-essential output
--cmd CMD Execute one approved test command and exit
--interactive Start an interactive test session
--batch FILE Read approved test commands from a file
--no-confirm Skip the confirmation prompt; use only in automation
Die folgenden Beispiele veranschaulichen Aufrufmuster. Ersetzen Sie das Ziel durch einen ausdrücklich autorisierten Labor- oder Bewertungsendpunkt.
# Start an interactive assessment session.
python jcezploit.py --url http://authorized-lab.example --interactive
# Execute a low-impact identity check.
python jcezploit.py --url http://authorized-lab.example --cmd "id"
# Route requests through a local inspection proxy.
python jcezploit.py \
--url http://authorized-lab.example \
--proxy http://127.0.0.1:8080 \
--interactive \
--verbose
Erstellen Sie eine Befehlsdatei, die nur vorab genehmigte, nicht-destruktive Validierungsschritte enthält:
# commands.txt
whoami
id
pwd
Führen Sie die Batch-Datei gegen das genehmigte Ziel aus:
python jcezploit.py --url http://authorized-lab.example --batch commands.txt
Verwenden Sie --verbose, wenn Sie den Anfragefluss in einer kontrollierten Umgebung untersuchen oder Belege für einen Bewertungsbericht sammeln. Verwenden Sie --quiet, wenn Sie die Ausgabe in eine genehmigte Automatisierungspipeline integrieren. Vermeiden Sie es, Geheimnisse, Sitzungstoken, Antwortinhalte oder personenbezogene Daten in gemeinsam genutzten Protokollen zu speichern.
Das Projekt akzeptiert die Konfiguration über die Befehlszeile. Die folgende Konvention für Umgebungsvariablen kann von Wrappern oder lokalen Runbooks verwendet werden, sofern die Implementierung sie ausdrücklich unterstützt:
TARGET_URL=http://authorized-lab.example
PROXY=http://127.0.0.1:8080
VERBOSE=true
QUIET=false
Committen Sie keine .env-Dateien, Anmeldedaten, Token, Zielinventare, erfassten Antworten oder Bewertungsergebnisse in die Versionskontrolle. Fügen Sie lokale Konfigurationsdateien zu .gitignore hinzu und verwenden Sie gegebenenfalls einen Geheimnisverwalter.
JCEzploit/
├── jcezploit.py # Main command-line program
├── requirements.txt # Runtime dependencies
├── README.md # Project documentation
├── LICENSE # MIT License
├── .gitignore # Ignored local and generated files
├── setup.sh # Optional setup helper
├── sample_commands.txt # Example command file
├── Dockerfile # Container build definition
├── verify.py # Dependency verification helper
└── docs/
├── vulnerability_details.md
├── pentest_guide.md
└── changelog.md
Die obige Struktur spiegelt das gelieferte Projektlayout wider. Aktualisieren Sie sie, wann immer Dateien hinzugefügt, entfernt oder umbenannt werden.
Installieren Sie Entwicklungsabhängigkeiten nur, wenn das Repository eine gepflegte Datei requirements-dev.txt bereitstellt:
pip install -r requirements-dev.txt
python -m pytest tests/
Bestätigen Sie vor dem Öffnen eines Pull-Requests, dass die Änderungen dokumentiert sind, die Tests bestanden werden, die Fehlerbehandlung klar bleibt und keine Zieldaten oder Geheimnisse in Commits enthalten sind. Fügen Sie Regressionstests für Parsing, Eingabevalidierung, Proxy-Handling, Timeout-Verhalten und sichere Fehlerpfade hinzu.
Eine professionelle Bewertung sollte nach Möglichkeit eine dedizierte Testumgebung verwenden. Erstellen Sie vor der Validierung ein Backup oder einen Snapshot, definieren Sie ein Notabschaltverfahren, überwachen Sie die Integrität von Anwendung und Host und koordinieren Sie sich während des gesamten Testfensters mit dem Systemeigentümer.
Das Tool sollte nicht verwendet werden, um Persistenz herzustellen, zusätzliche Schadsoftware einzusetzen, Überwachung zu umgehen, auf nicht zusammenhängende Konten zuzugreifen, sensible Dateien auszulesen oder sich lateral zu bewegen. Die Beweissicherung sollte sich auf das beschränken, was zum Nachweis des Befundes erforderlich ist, und den Datenverarbeitungsanforderungen des Kunden folgen.
Wenn Tests ein bisher unbekanntes Problem aufdecken, veröffentlichen Sie Exploit-Details nicht sofort. Benachrichtigen Sie den betroffenen Hersteller oder das betroffene Projekt privat, stellen Sie reproduzierbare defensive Beweise bereit, lassen Sie angemessene Zeit für die Behebung und koordinieren Sie jede öffentliche Offenlegung. Konsultieren Sie das Joomla Security Centre für die veröffentlichten Sicherheitsmeldehinweise des Projekts.
Beiträge von Sicherheitsexperten und Entwicklern, die verantwortungsvolle, defensive Forschung unterstützen, sind willkommen. Bitte eröffnen Sie vor größeren Änderungen ein Issue, damit Umfang und Sicherheitserwartungen besprochen werden können.
Ein typischer Beitragsablauf ist:
git checkout -b feature/documentation-improvement
# Make and test your changes
git add .
git commit -m "Improve documentation"
git push origin feature/documentation-improvement
Pull-Requests sollten das behandelte Problem erläutern, die Änderung beschreiben, die Testabdeckung angeben und etwaige Kompatibilitäts- oder Sicherheitsauswirkungen dokumentieren. Befolgen Sie PEP 8 für Python-Code, bevorzugen Sie klare Fehlermeldungen, vermeiden Sie das Einbetten von Geheimnissen und bewahren Sie die Sicherheitsvorkehrungen für die ethische Nutzung des Projekts.
Erste Projektveröffentlichung.
Den gemeldeten JCE-Sicherheitstest-Workflow hinzugefügt.
Unterstützung für interaktive Sitzungen hinzugefügt.
Dateiabruffunktionalität für autorisierte Tests hinzugefügt.
Batch-Befehlsverarbeitung hinzugefügt.
Proxy-Unterstützung hinzugefügt.
Umfangreiche Kommandozeilenausgabe hinzugefügt.
Plattformübergreifende Unterstützung hinzugefügt.
Erweiterung der Abdeckung defensiver Validierung.
Verbesserung der Kompatibilitätstests für unterstützte Joomla- und JCE-Versionen.
Hinzufügen einer strukturierten Bewertungsberichtsausgabe.
Hinzufügen einer strengeren Eingabevalidierung und sichereren Standardverhaltens.
Hinzufügen automatisierter Unit- und Integrationstests.
Bereitstellung eines dokumentierten Laboraufbaus für wiederholbare Forschung.
Dieses Projekt wird unter der MIT-Lizenz vertrieben. Siehe LICENSE für den vollständigen Lizenztext.
MIT License
Copyright (c) 2024 Sudeepa Wanigarathna
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Sudeepa Wanigarathna
Sicherheitsforscher und Penetrationstester
Das Projekt sollte nach der unabhängigen Verifizierung der CVE-Metadaten um einen direkten Link zum Schwachstelleneintrag in 4 ergänzt werden. Allgemeine defensive Testhinweise finden Sie in 3.
Verwenden Sie dieses Projekt verantwortungsvoll, rechtmäßig und nur mit ausdrücklicher Autorisierung.