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
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
9h 40m 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 appositamente costruito che esce dalla logica di concatenazione del percorso di base del handler.
key
  • 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

    root@kitploit:~
    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:

    root@kitploit:~
    python3 CVE-2025-10952.py --target TARGET --port 8081 --glob "/etc/*"
    

    Leggi un file arbitrario:

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

    Leggi e salva su disco:

    root@kitploit:~
    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