Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2025-10952-ml-logger-AFR — PoC per CVE-2025-10952 — lettura arbitraria di file non autenticata in ml-logger. CVSS 5.3 | Kitploit
Strumenti/GitHubGitHub/khashayarnzk/cve-2025-10952-ml-logger-afr
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing
GitHubkhashayarnzk/cve-2025-10952-ml-logger-afr

CVE-2025-10952-ml-logger-AFR

PoC per CVE-2025-10952 — lettura arbitraria di file non autenticata in ml-logger. CVSS 5.3

Vedi Repository
301 mese 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

CVE-2025-10952 — Lettura arbitraria di file in stream_handler di ml-logger

Questo repository fornisce uno script Python autonomo — CVE-2025-10952.py — che sfrutta una vulnerabilità di lettura arbitraria di file non autenticata in stream_handler di ml-logger, combinata con l'endpoint /glob per l'enumerazione del filesystem.

Quando eseguito contro un'istanza vulnerabile di ml-logger, lo script:

  • Enumera i file sull'host di destinazione tramite l'endpoint /glob (non autenticato, senza restrizioni di percorso al di fuori dell'ambito previsto).
  • Legge un file arbitrario tramite l'endpoint /stream fornendo un parametro key appositamente costruito che esce dalla logica di concatenazione del percorso di base del handler.
  • Salva opzionalmente il file recuperato su disco per un uso successivo (ad es. una chiave privata SSH esfiltrata).

Poiché stream_handler passa il campo key fornito dal client direttamente a una chiamata di risoluzione del percorso file e streaming senza alcun controllo di contenimento, un attaccante di rete non autenticato può leggere qualsiasi file accessibile all'utente del sistema operativo del servizio.

Dettagli della vulnerabilità (CVE-2025-10952)

  • Componente: ml_logger/server.py — stream_handler (File Handler)
  • Debolezza: CWE-200 (Esposizione di informazioni sensibili a un attore non autorizzato), CWE-284 (Controllo degli accessi improprio)
  • CVSS 3.1: 5.3 (Medio) — AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
  • Versioni interessate: geyang/ml-logger, tutte le versioni fino al commit acf255bade5be6ad88d90735c8367b28cbe3a743 (progetto a rilascio continuo; nessuna versione corretta pubblicata al momento della divulgazione)
  • Accesso richiesto: Nessuno (non autenticato)

stream_handler accetta un corpo JSON contenente un campo key e lo passa direttamente a una chiamata di lettura file senza alcuna sanificazione del percorso. L'endpoint gemello glob_handler implementa restrizioni parziali del percorso (bloccando percorsi assoluti e traversal), ma stream_handler non condivide tale validazione — una doppia barra iniziale in key (ad es. //root/.ssh/id_rsa) è sufficiente per uscire dalla directory di base prevista.

Prerequisiti

  • Python 3.8+
  • Accesso di rete a un'istanza API vulnerabile di ml-logger
  • Nessuna credenziale di alcun tipo

Configurazione e installazione

git clone https://github.com/Khashayarnzk/CVE-2025-10952-ml-logger-AFR.git
cd CVE-2025-10952-ml-logger-AFR
pip install -r requirements.txt

Utilizzo

Enumera i file:

python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"

Leggi un file arbitrario:

python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa"

Leggi e salva su disco:

python3 CVE-2025-10952.py --target TARGET --port 8081 --read "//root/.ssh/id_rsa" --out id_rsa_root
chmod 600 id_rsa_root
ssh -i id_rsa_root -o StrictHostKeyChecking=no root@TARGET

--port predefinito su 8081, la porta predefinita per l'API file-broker di ml-logger in una distribuzione standard. Il frontend della dashboard viene generalmente servito su una porta separata e non fa parte del percorso vulnerabile.

Flusso di sfruttamento

  1. Conferma che l'endpoint /glob del target risponda 405 Method Not Allowed con Allow: POST — questo identifica la porta API rispetto al frontend statico della dashboard.
  2. Enumera i percorsi raggiungibili con --glob per mappare i file interessanti (chiavi SSH, configurazioni, archivi di credenziali).
  3. Recupera un file di destinazione con --read, utilizzando una doppia barra iniziale per i percorsi assoluti.
  4. Se il file è una chiave privata, usala direttamente per l'autenticazione (vedi Utilizzo sopra).

Rilevamento e mitigazione

  • Rete: Avvisa su campi JSON di tipo key/path contenenti .., doppie barre iniziali (//) o prefissi di percorso assoluto (/etc, /root, /proc) diretti alle porte del servizio ml-logger.
  • Host: Il monitoraggio dell'integrità dei file o degli accessi su ~/.ssh/, /etc/shadow, /etc/passwd dovrebbe segnalare letture originate dall'identità del processo ml-logger.
  • Esposizione: Non esporre mai ml-logger a una rete non attendibile senza un proxy inverso autenticato davanti ad esso.
  • Rimedio: Applica il contenimento del percorso (risoluzione os.path.realpath() verificata rispetto a una directory di base in lista bianca) in stream_handler; esegui il servizio sotto un account del sistema operativo dedicato e non privilegiato.

Riferimenti

  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2025-10952
  • Advisory GitHub: https://github.com/advisories/GHSA-9x36-c74v-fgr6
  • Report originale: https://github.com/geyang/ml-logger/issues/74
  • Progetto: https://github.com/geyang/ml-logger

⚠️ Disclaimer

Questo repository contiene un exploit proof-of-concept per CVE-2025-10952, una vulnerabilità di divulgazione di informazioni non autenticata in ml-logger. Utilizza questo codice solo in ambienti di tua proprietà o per i quali hai esplicita autorizzazione al test. L'autore non è responsabile per qualsiasi uso improprio o danno causato da questo software.

Licenza

Vedi LICENSE.

Scarica lo strumento