
# Defensives IR-Playbook und Erkennungspaket für CVE-2026-31431 (Copy Fail) Linux-Kernel-LPE, einschließlich Sigma-, auditd-, Falco-, Wazuh-, YARA-, eBPF- und SIEM-Hunt-Abfragen.
Produktionsreifes IR-Playbook, Erkennungsregeln und SOC-Triage-Anleitung für CVE-2026-31431 — eine lokale Privilegieneskalation im Linux-Kernel über die algif_aead-Krypto-Schnittstelle. Enthält ein interaktives HTML-Playbook, Sigma-Regeln, auditd-Konfigurationen, Falco-Container-Regeln, Wazuh-Korrelationsregeln, YARA-Signaturen, eBPF-Echtzeitmonitore und SIEM-Hunt-Abfragen für Splunk, Sentinel KQL, Elastic EQL und QRadar AQL.
Kein Exploit-Code — rein defensiver Inhalt für SOC-Analysten und Detection Engineers.
Autor: Ashok Reddy
Die weithin empfohlene modprobe-Blacklist funktioniert nicht auf RHEL, CentOS, AlmaLinux, Rocky Linux oder CloudLinux. Das algif_aead-Modul ist direkt in den Kernel kompiliert (CONFIG_CRYPTO_USER_API_AEAD=y). Die Befehle werden ohne Fehler ausgeführt, lassen das System jedoch vollständig ungeschützt.
Korrekte Mitigation für die RHEL-Familie:
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot
# Überprüfen:
cat /proc/cmdline | grep initcall_blacklist
Siehe mitigate/ für plattformspezifische Skripte.
├── README.md # Diese Datei
├── LICENSE # MIT-Lizenz
├── playbook/
│ ├── index.html # Interaktives IR-Playbook (13 Tabs)
│ └── triage_playbook.md # SOC-Analysten-Triage-Anleitung
├── sigma/
│ ├── afalg_socket_creation.yml # AF_ALG-Socket durch Nicht-Root
│ ├── afalg_bind_aead_string.yml # authencesn-Algorithmus-String
│ └── afalg_splice_chain.yml # Verhaltens-Kettenregel
├── auditd/
│ └── cve-2026-31431.rules # Vollständiges auditd-Regelwerk
├── falco/
│ └── afalg_container.yml # Container-AF_ALG-Erkennung
├── wazuh/
│ └── cve-2026-31431.xml # Wazuh-Korrelationsregeln
├── yara/
│ └── copyfail_artifacts.yar # PoC-Datei-Artefakterkennung
├── ebpf/
│ └── copyfail_monitor.bt # bpftrace-Echtzeitmonitor
├── queries/
│ ├── splunk.spl # Splunk-SPL-Hunt-Abfragen
│ ├── defender_sentinel.kql # Sentinel/MDE-KQL-Abfragen
│ ├── elastic.eql # Elastic-EQL-Sequenzen
│ └── qradar.aql # QRadar-AQL-Abfragen
├── mitigate/
│ ├── mitigate_debian.sh # Debian/Ubuntu-Mitigation
│ └── mitigate_rhel.sh # RHEL-Familie (grubby-Methode)
└── check/
└── is_vulnerable.sh # Sicherer Schwachstellencheck
Das playbook/index.html ist ein vollständiges interaktives Playbook mit 13 Tabs:
Live: https://ashok523.github.io/cve-2026-31431/
# 1. Prüfen, ob verwundbar
sudo bash check/is_vulnerable.sh
# 2. Mitigation anwenden
sudo bash mitigate/mitigate_rhel.sh # RHEL-Familie
sudo bash mitigate/mitigate_debian.sh # Debian/Ubuntu
# 3. auditd-Regeln bereitstellen
sudo cp auditd/cve-2026-31431.rules /etc/audit/rules.d/
sudo augenrules --load
# 4. Wazuh-Regeln bereitstellen
sudo cp wazuh/cve-2026-31431.xml /var/ossec/etc/rules/local_rules.xml
sudo systemctl restart wazuh-manager
# 5. Falco-Regel bereitstellen (Kubernetes)
sudo cp falco/afalg_container.yml /etc/falco/rules.d/
sudo systemctl restart falco
# 6. eBPF-Monitor ausführen (Echtzeit)
sudo bpftrace ebpf/copyfail_monitor.bt
# 7. Nach PoC-Dateien scannen
yara yara/copyfail_artifacts.yar /tmp/ /dev/shm/ /var/tmp/
Dieses Repository enthält ausschließlich defensiven Erkennungsinhalt. Kein Exploit-Code, keine Proof-of-Concept-Skripte, keine Syscall-Offsets und kein Shellcode sind enthalten oder werden hinzugefügt.
| Feld | Detail |
|---|
| CVE | CVE-2026-31431 |
| Spitzname | Copy Fail |
| Komponente | Linux-Kernel algif_aead (AF_ALG-Krypto-Schnittstelle) |
| Typ | Lokale Privilegieneskalation (LPE) |
| CVSS | 7.8 (HOCH) |
| Primitive | Deterministischer 4-Byte-Schreibzugriff in den Page-Cache einer beliebigen lesbaren Datei |
| Exploit-Größe | 732 Bytes Python (nur Standardbibliothek, Python 3.10+) |
| Zuverlässigkeit | 100 % — keine Race Condition, keine Wiederholungen |
| Festplattenzugriffe | Null — nur Page-Cache, für FIM-Tools unsichtbar |
| Umfang | Jede größere Linux-Distribution seit 2017 (Kernel 4.13–6.18) |
| Container-Risiko | Container-Escape-Primitive, wenn Host-Kernel ungepatcht (T1611) |
| PoC-Status | Öffentlich seit 29. April 2026 |
| Patch | Commit a664bf3d603d — macht In-Place-AEAD-Operationen rückgängig |
| Entdeckt von | Taeyang Lee (Theori) · Exploit-Kette von Xint Code (KI-gestützt) |
| Tab | Inhalt |
|---|
| Übersicht | Angriffsgraph, Exploit-Kette, Statistiken |
| Phasen 1–6 | Vollständiger IR-Lebenszyklus mit Checklisten |
| Intel-Feed | SOC-Erkennungsmethodik, VAPT vs. SOC, Community-Tools, Patch-Status |
| IOCs | Syscall-, Prozess-, Dateisystem- und Verhaltensindikatoren |
| MITRE ATT&CK | Technik-Zuordnung mit Erkennungssignalen |
| Erkennungs-Anwendungsfälle | 8 TTP-basierte Anwendungsfälle (UC-CF-001 bis UC-CF-008) |
| SIEM-Hunting | 18 Abfragen über alle Plattformen |
| KI-Erkennung | UEBA/ML-Fähigkeiten und -Grenzen |
| Stufe | Erkennung | Tool |
|---|
| AF_ALG-Socket durch Nicht-Root | Sigma · auditd · Falco · eBPF | Primärsignal |
| splice()-Kette (gleiche PID, 10 s) | auditd · eBPF | Nahezu null Fehlalarme |
| authencesn-AEAD-String | Sigma · auditd | Kritisch, falls beobachtet |
| uid→euid=0 ohne Authentifizierung | auditd · Splunk · KQL | LPE bestätigt |
| su ohne Benutzernamen | auth.log (Wiz-Signal) | Post-Exploitation |
| PoC im Dateisystem | YARA | Staging-Erkennung |
| Container-Escape | Falco mit K8s-Kontext | T1611 |
| Persistenz nach Root | auditd FIM · Wazuh | SSH-Keys, SUID, cron |
| Ansatz | Volumen | Konfidenz |
|---|
| ❌ Alarm bei allen splice() | ~10.000/Std. | Sehr niedrig |
| ⚠️ Alarm bei socket(AF_ALG) allein | ~5–50/Tag | Mittel |
| ✅ AF_ALG + splice gleiche PID/10 s | ~0–2/Tag | Sehr hoch |
| ✅ AF_ALG + splice + su / 60 s | ~0/Tag | Kritisch |
| Distribution | Status | Befehl |
|---|
| Ubuntu | ✅ Gepatcht | apt update && apt install linux-image-generic |
| AlmaLinux | ✅ Gepatcht | dnf clean metadata && dnf upgrade |
| CloudLinux | ✅ Gepatcht + Livepatch | kcarectl --update |
| Debian | ✅ Verfolgt | apt update && apt upgrade |
| Mainline | ✅ Behoben in 7.0-rc7 | Commit a664bf3d603d |
| RHEL | ⏳ Ausstehend | Errata noch nicht veröffentlicht |
| Amazon Linux | 🔄 In Verfolgung | yum update kernel |