Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-92392 — Prüft lokale curl/libcurl-Builds auf Exposition gegenüber der Use-after-free-Schwachstelle CVE-2026-92392 bei HTTP/2-Uploads, mit passiver Inventarisierung, Scanning eingebundener Images und einer begrenzten Loopback-PoC-Sonde. | Kitploit
Tools/GitHubGitHub/ashu7ank/cve-2026-92392
DefensivwerkzeugeSchwachstellenscannerContainer-SicherheitDynamische Analyse (Sandboxing)SchwachstellenanalyseInformationsbeschaffungSicherheitsvirtualisierungFuzzing
GitHubashu7ank/cve-2026-92392

CVE-2026-92392

Prüft lokale curl/libcurl-Builds auf Exposition gegenüber der Use-after-free-Schwachstelle CVE-2026-92392 bei HTTP/2-Uploads, mit passiver Inventarisierung, Scanning eingebundener Images und einer begrenzten Loopback-PoC-Sonde.

1vor 20 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
Teilen

CVE-2026-92392 curl/libcurl-Exposure-Checker und POC

cve_2026_92392_check.py bewertet lokale curl- und libcurl-Artefakte auf CVE-2026-92392, einen Use-after-free bei HTTP/2-Uploads in curl/libcurl.

Es unterstützt passive lokale Inventarisierung, die Bewertung bereitgestellter Banner, nicht ausführendes Scannen eingebundener Images und eine begrenzte Loopback-HTTP/2-Protokollsonde. Die Sonde ist defensiv und nicht waffenfähig. Sie enthält keine Befehlsnutzlast, keinen Shellcode, keine Manipulation von Speicheradressen, keine Logik zur Informationspreisgabe und keine RCE-Nutzlast.

Die aktive Sonde bindet ausschließlich an 127.0.0.1, akzeptiert keine entfernte Ziel-URL oder keinen entfernten Host und führt ausschließlich die ausgewählte lokale curl-Binärdatei aus.

Was dieser Checker feststellt

Der Checker unterscheidet vier verschiedene Evidenzstufen:

EvidenzstufeWas sie feststelltWas sie nicht feststellt
Build-KlassifizierungOb ein versionsqualifiziertes curl/libcurl-Artefakt außerhalb des upstream betroffenen Bereichs liegt, upstream betroffen mit unbekanntem Vendor-Patch-Status ist oder anhand bereitgestellter Patch-Status-Evidenz als bestätigt betroffen giltOb eine Anwendung tatsächlich den betroffenen HTTP/2-Upload-Pfad nutzt
Laufzeit-Exposure-KontextOb bereitgestellte Anwendungsfakten darauf hindeuten, dass HTTP/2-Uploads einen angreiferkontrollierten Endpunkt erreichen könnenOb die Schwachstelle ausgelöst wurde
ProtokollstimulusOb der lokale Loopback-Harness beide dokumentierten Reset-Varianten mit zwei Uploads auf einer HTTP/2-Verbindung übermittelt hatEinen Use-after-free, eine Absturzursache oder Codeausführung
CVE-zugeordnetes Sanitizer-ErgebnisOb die Kandidatensequenz, ein AddressSanitizer-Heap-Use-after-free, eine upstream betroffene Artefaktidentität und ein passender HTTP/2-Stack alle beobachtet wurdenZuverlässigkeit oder praktische Ausnutzbarkeit auf einem anderen System

Ein sauberer Lauf, ein unvollständiger Protokolllauf oder ein nicht abstürzender Sanitizer-Lauf beweist nicht, dass ein Build sicher ist.

Zusammenfassung der Schwachstelle

CVE-2026-92392 betrifft die HTTP/2-Upload-Verarbeitung von curl/libcurl. Während eines Uploads kann ein betroffener Build ein HTTP/2-RST_STREAM verarbeiten, das entweder REFUSED_STREAM oder HTTP_1_1_REQUIRED trägt. Gepufferte Upload-Daten können dann als neue Anfrage geparst werden, nachdem der HTTP/2-Zustand des ursprünglichen Transfers abgetrennt wurde. Ein späterer HTTP/2-Callback kann einen veralteten Curl_easy-Zeiger dereferenzieren.

Der REA-Vergleich, der zur Überarbeitung dieses Checkers verwendet wurde, bestätigte den relevanten Unterschied in der Bereinigungsreihenfolge:

  1. Das betroffene Artefakt ruft Curl_conn_ev_data_done auf, verarbeitet ausstehende Handles und ruft erst dann Curl_req_done auf.
  2. Curl_req_done erreicht req_flush, während der HTTP/2-Data-Done-Pfad bereits den Stream-Kontext gelöscht hat.
  3. Verbleibende gepufferte Upload-Daten können einen späteren HTTP/2-Stream erzeugen, der demselben rohen Easy-Handle-Zeiger zugeordnet ist.
  4. Die korrigierte Implementierung führt Curl_req_done vor Curl_conn_ev_data_done aus und beseitigt damit diese veraltete Reihenfolge.

Dies ist Implementierungsevidenz, die das Proof-Modell des Checkers stützt. Der Vendor-Patch-Status erfordert weiterhin eine unabhängige Verifikation.

Betroffene Upstream-Releases

Die Upstream-Beratung identifiziert die verwundbare Implementierung als in curl 8.12.0 eingeführt. Der Checker klassifiziert Upstream-Releases wie folgt:

Release-BedingungKlassifizierung
Früher als 8.12.0NOT AFFECTED
8.12.0 bis 8.22.0, ausgenommen korrigierte BackportsUpstream betroffen
8.14-Zweig ab 8.14.3Korrigierter Backport
8.16-Zweig ab 8.16.2Korrigierter Backport
8.20-Zweig ab 8.20.2Korrigierter Backport
8.23.0 oder späterNOT AFFECTED
Entwicklungs-, Snapshot-, Nightly- oder mehrdeutige VersionINDETERMINATE

Ein Vendor kann den Fix zurückportieren, ohne die Upstream-Versionszeichenfolge von curl zu ändern. Daher ist eine betroffene Upstream-Version Inventarisierungsevidenz, kein schlüssiger Beweis dafür, dass ein Vendor-Build ungepatcht ist.

Verwenden Sie --patch-state nur, wenn der nachgelagerte semantische Fix-Status durch Vendor-Beratungen, Paket-Changelogs, Quellcodevergleich oder eine andere vertrauenswürdige Methode auf Artefaktebene verifiziert wurde.

--patch-state-WertBedeutung
unknownStandard. Eine betroffene Upstream-Version erzeugt UPSTREAM-AFFECTED VERSION.
absentDer Betreiber hat unabhängig verifiziert, dass der Downstream-Fix fehlt. Ein HTTP/2-fähiger betroffener Build erzeugt AFFECTED BUILD.
presentDer Betreiber hat unabhängig verifiziert, dass der semantische Downstream-Fix vorhanden ist. Dies ist eine Betreiberaussage, kein automatischer Nachweis der binären Äquivalenz zum Upstream-Fix von curl.

Anforderungen

  • Python 3.10 oder neuer.
  • Keine Python-Abhängigkeiten außer der Standardbibliothek.
  • Eine lokale curl-Executable für --poc.
  • Bestätigte HTTP/2-Unterstützung für aussagekräftige aktive Prüfungen.
  • Ein mit AddressSanitizer instrumentierter curl-Build für --poc-proof asan.
  • Der Befehl openssl nur bei Verwendung von --tls.
  • Eine produktqualifizierte native ELF- oder Mach-O-curl-Executable für aktives Prüfen.

Der aktive PoC-Modus lehnt Skripte, Wrapper, nicht identifizierte native Executables und PE/Windows-Binärdateien ab. Die passive Bewertung bleibt für Banner und eingebundene Dateisysteme verfügbar.

Schnellstart

Das in PATH gefundene curl-Binary inspizieren:

python3 cve_2026_92392_check.py

Emit JSON:

python3 cve_2026_92392_check.py --json

Führe interne Selbsttests aus:

python3 cve_2026_92392_check.py --self-test
python3 -O cve_2026_92392_check.py --self-test

Untersuchen Sie eine ausgewählte curl-Executable und die libcurl-Shared-Library:

python3 cve_2026_92392_check.py \
  --curl-binary /opt/curl/bin/curl \
  --libcurl-path /opt/curl/lib/libcurl.so \
  --json

Bewerte ein vertrauenswürdiges curl-Banner, ohne eine Binärdatei auszuführen:

python3 cve_2026_92392_check.py \
  --version-string 'curl 8.12.0 libcurl/8.12.0 nghttp2/1.61.0' \
  --json

Eine reine Versionsangabe wie 8.12.0 wird nicht als verifizierter Nachweis für die Identität von curl/libcurl akzeptiert.

Workflow für die Remote-Inventarisierung

Der Checker kontaktiert bewusst keine Remote-Hosts. Rufen Sie das Banner über einen autorisierten administrativen Kanal ab, speichern Sie es lokal und bewerten Sie es anschließend lokal:

ssh [email protected] 'curl --version' > host-curl-version.txt

python3 cve_2026_92392_check.py \
  --version-file host-curl-version.txt \
  --http2-use unknown \
  --untrusted-upload unknown \
  --https-certificate unknown \
  --json

Wenn eine Anwendungsprüfung oder ein vertrauenswürdiger Trace belegt, dass Uploads HTTP/2 verwenden, einen vom Angreifer kontrollierten Endpunkt erreichen können und dessen HTTPS-Zertifikat akzeptieren, geben Sie diese Fakten explizit an:

python3 cve_2026_92392_check.py \
  --version-file host-curl-version.txt \
  --http2-use yes \
  --untrusted-upload yes \
  --https-certificate yes \
  --patch-state unknown \
  --json

Für Klartext-h2c verwenden Sie --https-certificate not-applicable.

--http2-use yes kennzeichnet die HTTP/2-Nutzung zur Laufzeit. Es beweist nicht, dass das Artefakt mit HTTP/2-Unterstützung kompiliert wurde. In ähnlicher Weise beschreibt --untrusted-upload yes den Datenfluss der Anwendung, während --https-certificate yes die separate HTTPS-Vertrauensbedingung erfasst.

Bewertung eingebundener Images

Tool herunterladen