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
Tools/GitHubGitHub/detect-defenselab/cve-2026-31431-detection-defense
DefensivwerkzeugeContainer-SicherheitSchwachstellenanalyseExploitationEinbruchserkennung
GitHubdetect-defenselab/cve-2026-31431-detection-defense

CVE-2026-31431-detection-defense

Forschungs- und Erkennungsleitfaden für CVE-2026-31431, eine auf io_uring basierende Umgehung der Syscall-Überwachung. Bietet Erkennungsregeln für Tetragon, Falco und Wazuh sowie Härtungsstrategien.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigen
29vor 5 MonatenNoch nicht geprüft
Teilen

CVE-2026-31431: Erkennung & Abwehr der io_uring-Umgehung bestehender Erkennung

Autoren: fz0x00, qiwuSEC

Forschung

Für CVE-2026-31431 („Copy Fail") haben wir systematische Schwächen in gängigen Sicherheitsprodukten demonstriert, indem wir drei Umgehungsstrategien kombiniert haben: io_uring asynchroner I/O-Pfad, Prozessaufteilung (fork + SCM_RIGHTS) und Socket-Wiederverwendung. Durch empirische Tests haben wir bewiesen, dass diese Techniken praktisch alle syscall-basierten Erkennungswerkzeuge umgehen können.

Wichtigste Erkenntnisse

1. io_uring umgeht praktisch alle syscall-basierten Erkennungen

io_uring übermittelt Anfragen über gemeinsam genutzte Speicher-Ringpuffer und umgeht damit traditionelle Syscall-Einstiegspunkte. Das bedeutet:

  • auditd / Wazuh / Elastic Security Agent und andere Produkte, die von Syscall-Audit abhängen, sind völlig blind, wenn Angreifer den io_uring-Pfad nutzen — null Ereignisse, null Warnungen
  • io_uring-Arbeiter-Threads (iou-wrk-XXXXX) führen Operationen innerhalb des Kernels aus, ohne audit_syscall_entry() auszulösen
  • Seccomp-Richtlinien, die nur socket(AF_ALG) blockieren, können über IORING_OP_SOCKET umgangen werden — Seccomp prüft nur beim Syscall-Eintritt, und io_uring-Operationen durchlaufen diesen Eintritt nicht

2. Prozessaufteilung bricht PID-Ebenen-Korrelation

Durch die Verwendung von fork + SCM_RIGHTS (Unix-Domain-Socket-fd-Übergabe) können Socket-Erstellung und Splice-Operationen in verschiedenen Prozessen platziert werden:

  • Wazuhs same_field(audit.pid)-Korrelation bricht — Socket-PID ≠ Splice-PID, die CRITICAL-Regel greift nicht
  • Falco libsinsp's Prozessebenen-fd-Verfolgung ist in SCM_RIGHTS-Szenarien völlig gestört

3. Socket-Wiederverwendung umgeht Schwellenwert-Regeln

Das ursprüngliche PoC erstellt pro Iteration einen neuen Socket (was 40+ socket(AF_ALG)-Aufrufe erzeugt). Socket-Wiederverwendung erstellt nur einen einzigen Listening-Socket; die Schleife ruft accept() auf, was keine neuen Socket-Ereignisse erzeugt. Regeln, die auf count >= N basieren, werden vollständig ausgehebelt.

4. Die am schwersten zu erkennende Variantenkombination

io_uring-Pfad + splice + /etc/passwd + authenc-Algorithmus + SCM_RIGHTS-Aufteilung + Socket-Wiederverwendung

Unter dieser Kombination: syscall-basierte Werkzeuge sind völlig blind, Prozessebenen-Korrelation ist gebrochen, Zählschwellen versagen. Nur kprobe-Konvergenzpunkt-Erkennung kann diese Kombination abfangen.

5. LSM-Ebenen-Überwachung kann Ausnutzung perfekt erkennen

__sock_create(family=38) ist ein nicht umgehbarer Konvergenzpunkt für alle Pfade (syscall und io_uring) — AF_ALG ist die einzige Userspace-Krypto-API im Linux-Kernel. Egal wie Angreifer ihre Vorgehensweise variieren, sie müssen einen AF_ALG-Socket erstellen. Die Überwachung dieser Funktion auf LSM-Ebene bietet 100 % Recall und ist von keiner Variante betroffen.

Produktspezifische Testergebnisse

ProduktErkennungsebeneTraditioneller Syscallio_uring-PfadMehrprozess-AufteilungSocket-WiederverwendungBewertung
Tetragon (kprobe)Kernelfunktion✅✅✅✅Einzige Abdeckung der gesamten Kette
Falco + krsi-Pluginfexit/fentry✅✅✅✅Benötigt krsi für io_uring; nur Eintritt
Falco (modern_ebpf)Syscall-Tracepoint✅❌✅✅io_uring völlig unsichtbar
auditd / WazuhSyscall-Audit✅❌❌ PID gebrochen⚠️io_uring blind + PID-Korrelation gebrochen
Elastic Security AgentSyscall✅❌⚠️⚠️Wie Wazuh; syscall-abhängig = blind

Falco benötigt das krsi-Plugin

Falcos nativer modern_ebpf-Treiber erfasst nur den Syscall-Pfad. Das krsi-Plugin ist erforderlich — es verwendet fexit-Tracing auf io_socket()- und __sys_socket()-Kernelfunktionsausgängen, um den io_uring-Pfad für die AF_ALG-Socket-Erstellung abzudecken. Empfohlene Fallback-Regel:

- rule: AF_ALG Socket Created
  condition: >
    (evt.type = socket and evt.args contains AF_ALG) or
    (evt.type = krsi_socket and krsi.domain = 38)
  output: >
    AF_ALG socket created (source=%evt.type domain=%evt.arg.domain
    krsi_domain=%krsi.domain proc=%proc.name pid=%proc.pid)
  priority: WARNING
  tags: [cve-2026-31431, crypto, container_escape]

Der Erkennungsansatz der empfohlenen Regel: deckt gleichzeitig socket-Ereignisse ab (Syscall-Pfad, unter Verwendung von evt.args contains AF_ALG-String-Abgleich zur Umgehung der ENUMFLAGS32-Typbeschränkung) und krsi_socket-Ereignisse (io_uring-Pfad, unter Verwendung von krsi.domain = 38-Integer-Vergleich). Keine Zählschwellen (durch Socket-Wiederverwendung ausgehebelt), keine PID-Korrelationsabhängigkeit (durch Mehrprozess-Aufteilung ausgehebelt).

Hinweis: Die drei Verteidigungsebenen der Community-ThreatBear-Regel sind alle umgehbar — ENUMFLAGS32-Typkonflikt (evt.arg[0]=38 immer falsch), Socket-Wiederverwendung schlägt den Zählschwellenwert (count=1 < 40), Mehrprozess-Aufteilung bricht die PID-Korrelation. Siehe Regel-Umgehungsanalyse.

Wazuh / Elastic Security Agent können io_uring-Ausnutzung nicht erkennen

Wazuh verlässt sich vollständig auf auditds Syscall-Audit-Ereignisse. io_uring-Operationen durchlaufen keinen Syscall-Eintritt, daher erzeugt auditd null Ereignisse und alle 7 Wazuh-Regeln schlagen fehl. Gleiches gilt für Elastic Security Agent — Produkte, die vom Syscall-Eintritt abhängen, sind strukturell blind gegenüber dem io_uring-Pfad. Siehe Wazuh-Einschränkungsanalyse.

Umgehungsdemonstration

Das Verzeichnis bypass_demo/ enthält konzeptionelle Beschreibungen von Erkennungsumgehungsansätzen. Der tatsächliche PoC-Code ist nur für den internen Gebrauch bestimmt und wird nicht öffentlich verteilt.

Dokumentationsindex

Theorie

DokumentInhalt
VULNERABILITY.mdGrundursache — Überlagerung von drei Kerneländerungen, 9-stufige Angriffskette, Page-Cache-Schreibeigenschaften
EXPLOIT_VARIANTS.md6 Exploit-Variantendimensionen — I/O-Pfad × Datenübermittlung × Zieldatei × AEAD-Algorithmus × Prozessaufteilung × Socket-Wiederverwendung
DETECTION_THEORY.mdErkennungstheorie — Konvergenz- vs. Divergenzpunkte, 4-Ebenen-Erkennungsarchitektur, zeitliche Korrelation mehrerer Signale

Erkennungslösungen

DokumentInhalt
detection/tetragon.mdEmpfohlen — Tetragon kprobe, 5 Sonden, die traditionelle + io_uring abdecken, einzige Erkennung der gesamten Kette
detection/falco.mdFalco 0.40.0 + krsi 0.1.0 Konfigurationsanleitung, krsi-Interna, Fehlerbehebung
detection/wazuh.mdWazuh + auditd drei Hauptbeschränkungen: io_uring-Blindheit, PID-Korrelationszusammenbruch, Page-Cache-Unsichtbarkeit
detection/rule_bypass.mdThreatBear-Regel-Umgehungsprinzipien, empirische Verifikation der Anti-Umgehung der empfohlenen Regel
Tool herunterladen