
Passive internetweite Erkennung + Helfer für verantwortungsvolle Offenlegung für CVE-2026-74580 (Linux-vhost-Metadaten-Cache-Fehler) — fragt vorhandene Scandaten ab (Sonar/Shodan/Censys), bewertet die Exposition und entwirft (sendet niemals automatisch) Benachrichtigungen an Eigentümer.
Ein Helfer zur Perimeter-Prüfung und für verantwortungsvolle Offenlegung zu
CVE-2026-74580 („Vghost") — einem echten Metadaten-Cache-Fehler im
Linux-Kernel-vhost (CVE-Eintrag,
OSV-Eintrag), der auf
exponierten vhost/Hypervisor-Hosts lokale Rechteausweitung / VM-Escape
ermöglicht.
Primärer Anwendungsfall: den eigenen Perimeter prüfen. Geben Sie Ihre
eigenen IP-Bereiche, CIDRs oder Domains ein (import_list.py) — intern oder
extern — und triagieren Sie sie auf vhost-nahe Exposition (libvirt/Proxmox/QEMU-
Management-Ports), und erhalten Sie anschließend Hinweise zur Behebung für
Ihren eigenen Tracker (run_pipeline.py --self, siehe „Den eigenen Perimeter
prüfen" unten). Keine automatische Erkennung, keine massenhafte
Kontaktsuche — der Host gehört bereits Ihnen.
Sekundäre Fähigkeit: Discovery von Drittanbietern über öffentliche Scan-Daten. Dieses Projekt scannt nicht selbst das Internet — es kann optional Datensätze/APIs abfragen, die das Scannen bereits durchgeführt haben (Rapid7 Open Data / Sonar, Shodan, Censys), um andere exponierte Hosts zu finden, und Ihnen dann helfen, Offenlegungsschreiben an deren Eigentümer zu entwerfen. Wissenswert, bevor Sie hier Zeit investieren: Für dieses Thema gibt es kein Bug-Bounty (CSIRTs zahlen nicht, und Meldungen zu „bekannte CVE, ungepatchte Instanz" sind selten bounty-berechtigt — siehe „Impact" unten) — es ist unbezahlte Benachrichtigungsarbeit als guter Bürger, und die meiste tatsächliche Nutzung dieses Repos ist der oben beschriebene Perimeter-Prüfungsfall, nicht dieser.
CVE-2026-74580 ist ein Fehler auf Kernel-Ebene, lokal, kein web-/netzwerkseitiger — daraus folgen einige Dinge, die für die Triage wichtig sind:
Nur anwendbar, wenn alle folgenden Bedingungen zutreffen:
vhost-net/vhost-scsi über
QEMU/KVM, typischerweise über libvirt oder Proxmox). Ein Bare-Metal-Host ohne
VMs oder VMs auf reinem virtio ohne vhost-Offload ist diesem Fehler
unabhängig vom Patch-Stand nicht ausgesetzt.Der eigentliche Schweregrad-Treiber ist, wer bereits über Codeausführung verfügt (oder sie erlangen kann) — nicht, ob der Host aus dem Internet erreichbar ist. Internet-Exposition beeinflusst nur, wie leicht ein externer Angreifer das Ziel findet oder den ersten Fußabdruck aus der Ferne erreicht; sie ändert nichts daran, ob der Fehler ausnutzbar ist, sobald jemand diesen Fußabdruck hat. Rein interne, private Infrastruktur ist nicht grundsätzlich weniger riskant:
Am kritischsten, unabhängig von der Internet-Exposition:
Wo Internet-Exposition tatsächlich eine Rolle spielt (ein sekundärer Faktor, nicht der primäre):
merge_and_triage.py sucht. Ein exponierter
Port beweist für sich genommen jedoch nichts – er ist erst dann relevant, wenn
etwas Angreiferkontrolliertes lokal ausgeführt werden kann, was passive Scan-Daten
nicht zeigen können (siehe „Warum nur passiv" unten, warum dieses Repo nicht versucht,
das gegen Hosts zu bestätigen, die Ihnen nicht gehören).Wirklich geringere Schwere:
Hilft eine WAF? Nicht direkt gegen diesen Bug – eine WAF inspiziert HTTP(S)-Traffic, und dieser Bug liegt im vhost-Metadaten-Cache-Pfad des Kernels, nicht im Request-Parsing. Er liegt schlicht nicht im Expositionspfad für die Schwachstelle selbst.
Wo eine WAF doch relevant ist, ist einen Schritt früher: Die häufigste reale Kette ist Web-App-RCE → Code-Ausführung innerhalb des Gasts → vhost-Exploit → Host-Escape → laterale Bewegung zu jedem anderen Tenant. Eine WAF (oder andere Web-Sicherheitskontrollen) kann die Web-App-RCE blockieren, die einem Angreifer den initialen Fußabdruck verschafft, was verhindert, dass er jemals die Voraussetzung für diesen Bug erreicht. Also: irrelevant für den vhost- Bug selbst, aber relevant für einen der häufigsten Wege in die Voraussetzung dafür.