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
Detections-CVE-2026-31431 — Erkennungsregeln, YARA-Signaturen, auditd/Wazuh-Regeln und MISP-Event-Vorlagen für die Linux-Kernel-LPE-Schwachstelle CVE-2026-31431 (Copy Fail). Enthält IoCs, Minderungsmaßnahmen und Exploit-Analyse. | Kitploit
Tools/GitHubGitHub/insomnisec/detections-cve-2026-31431
Management von Indicators of Compromise (IOC)Privilege EscalationSchwachstellenanalyseExploitationForensikBedrohungsanalyseEinbruchserkennungLernen & BildungIncident Response

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Archived
GitHubinsomnisec/detections-cve-2026-31431

Detections-CVE-2026-31431

Erkennungsregeln, YARA-Signaturen, auditd/Wazuh-Regeln und MISP-Event-Vorlagen für die Linux-Kernel-LPE-Schwachstelle CVE-2026-31431 (Copy Fail). Enthält IoCs, Minderungsmaßnahmen und Exploit-Analyse.

Repository anzeigen
226vor 5 MonatenNoch nicht geprüft
Teilen

UMZUG NACH: https://github.com/insomnisec/public_cve_detections

FÜR BESSERES LANGZEITMANAGEMENT VON ERKENNUNGSVERÖFFENTLICHUNGEN

DIESES REPO WIRD IM JUNI 2026 ENTFERNT

BITTE NUTZEN SIE IN ZUKUNFT DAS ANDERE REPO

CVE-2026-31431 "Copy Fail" – Erkennungs- und Reaktionspaket

Veröffentlicht: 2026-04-30
CVSSv3: 7.8 (Hoch)
Typ: Lokale Privilegienerweiterung (LPE)
Subsystem: Linux-Kernel algif_aead / authencesn Kryptografie-Template
Betroffen: Linux-Kernel 4.14 – 6.18.21 (praktisch alle Distributionen seit 2017)
Referenzen:

  • Xint/Theori Bericht
  • Offizieller PoC
  • oss-security Offenlegung
  • copy.fail

Inhaltsverzeichnis

  1. Zusammenfassung der Schwachstelle
  2. Wie der Exploit funktioniert
  3. Erkennungsgrenzen
  4. Sofortmaßnahmen
  5. YARA-Regel
  6. Auditd-Regeln
  7. Wazuh-Regeln
  8. MISP-Ereignisvorlage
  9. Patchen & Behebung
  10. Referenz der wichtigsten Indikatoren (IoCs)

Zusammenfassung der Schwachstelle

CVE-2026-31431 ist ein Logikfehler, der im Kernel 4.14 (2017) am Schnittpunkt von drei unabhängigen Änderungen eingeführt wurde:

  1. Die authencesn-Vorlage (2011 für IPsec-ESN-Unterstützung hinzugefügt) schreibt 4 Bytes an temporären Daten über die Grenze ihres Ausgabepuffers hinaus.
  2. AF_ALG erhielt 2015 AEAD-Unterstützung, wodurch Benutzerdaten über splice() aus seitenweise zwischengespeicherten Dateien übermittelt werden können.
  3. Im Jahr 2017 wurde algif_aead.c optimiert, um direkt im Speicher zu arbeiten (req->src == req->dst), wodurch lebendige Seiten des Page-Cache in eine beschreibbare Streuliste (Scatterlist) eingefügt wurden.

Das Ergebnis: Ein nicht privilegierter Benutzer kann genau 4 vom Angreifer kontrollierte Bytes in die Page-Cache-Kopie des Kernels jeder lesbaren Datei schreiben – einschließlich setuid-Binärdateien und /etc/passwd – ohne die Datei auf der Festplatte zu berühren. Der funktionierende PoC ist ein 732-Byte-Python-Skript. Keine Race-Condition. Keine distributionsspezifischen Offsets. Zuverlässig unter Ubuntu, RHEL, Amazon Linux und SUSE.

Wie der Exploit funktioniert```

Attacker opens AF_ALG socket (family 38, type 5) └─ Binds to "authencesn(hmac(sha256),cbc(aes))" └─ Sets SOL_ALG (279) options including key and authsize └─ Accepts a connection socket

Attacker opens target file (e.g., /etc/passwd) read-only └─ Uses splice() to feed page-cache pages into the AEAD socket's RX buffer └─ Sends crafted AAD via sendmsg() — bytes 4–7 of AAD = attacker-controlled write value

authencesn performs in-place decryption: └─ scatterwalk_map_and_copy writes seqno_lo into the chained page-cache page └─ recvmsg() returns an error (HMAC fails — expected), but the write already happened

Page-cache now contains attacker-modified copy of the file └─ Kernel executes from page-cache, not disk └─ On-disk file is UNCHANGED — file integrity tools see nothing

Der PoC zielt auf `/etc/passwd`: Er findet den Offset des UID-Feldes des laufenden Benutzers und überschreibt es mit `0000`, dann ruft er `su` auf, um eine Root-Shell zu erhalten.

---

## Erkennungseinschränkungen

> **Lesen Sie diesen Abschnitt, bevor Sie unten Regeln bereitstellen.**

Dieser Exploit hat zwei Eigenschaften, die die Erkennungsabdeckung erheblich einschränken:

**1. Der Schreibvorgang erfolgt in den Page Cache, nicht ins Dateisystem.**
Jedes Erkennungswerkzeug, das Dateisystemereignisse überwacht — `inotify`, `fanotify`, AIDE, Tripwire, auditd-Pfadüberwachungen — wird die Änderung **nicht** beobachten. Die Datei auf der Festplatte wird nie beschrieben. Dies bedeutet, dass die Flags `-p w` (write) in auditd-Pfadüberwachungen für `/usr/bin/su` oder `/etc/passwd` den eigentlichen Exploit-Schreibvorgang nicht erfassen.

**2. Der Mechanismus verwendet legitime Kernel-Schnittstellen.**
`AF_ALG`-Sockets, `splice()` und `authencesn` haben alle legitime Verwendungen (IPsec, Kernel-Selbsttests, sendfile-ähnliche Ein-/Ausgabe). Die Erkennung muss sich auf die *Kombination* dieser Grundbausteine konzentrieren, nicht auf einen einzelnen isoliert, und es sollten Fehlalarme auf Systemen erwartet werden, die IPsec ausführen oder Kernel-Krypto-Tests durchführen.

**Was die Erkennung ERFASSEN KANN:**
- Der `socket(AF_ALG, SOCK_SEQPACKET, 0)`-Systemaufruf
- Der `splice()`-Systemaufruf korreliert mit dem obigen, insbesondere in der Nähe von setuid-Binärzugriffen
- Das PoC-Skript selbst (über YARA)
- Der spezifische Algorithmus-String `authencesn(hmac(sha256),cbc(aes))` im Prozessspeicher oder in Skriptdateien

**Was die Erkennung NICHT ERFASSEN KANN:**
- Den eigentlichen Page-Cache-Schreibvorgang (im Speicher, kein Dateisystemereignis)
- Die Nutzung des modifizierten Page-Cache-Eintrags nach dem Exploit (sieht aus wie ein normaler `su`- oder `passwd`-Aufruf)
- Varianten, die Python oder den spezifischen Algorithmus-String vermeiden

## Sofortige Gegenmaßnahmen

Bevor Sie Erkennungsregeln bereitstellen, wenden Sie diese Gegenmaßnahme auf jedem ungepatchten Host an:```bash
# Disable algif_aead kernel module — blocks the exploit primitive entirely
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead 2>/dev/null || true

Stellen Sie sicher, dass die Abschwächung aktiv ist mithilfe des offiziellen Detektors:```bash

Exit 0 = not vulnerable / mitigated

Exit 2 = VULNERABLE

python3 test_cve_2026_31431.py

> **Hinweis:** Der Befehl `rmmod` wird fehlschlagen, wenn das Modul nicht geladen ist; das ist akzeptabel. Die `modprobe.d`-Konfiguration verhindert zukünftige Ladungen. Diese Maßnahme hat keine Auswirkungen auf Standard-TLS-, SSH- oder Dateisystemverschlüsselungs-Workloads – sie betrifft nur IPsec mit erweiterten Sequenznummern unter Verwendung der `authencesn`-Vorlage, was außerhalb dedizierter VPN-Gateways ungewöhnlich ist.

---

## YARA-Regel

Speichern als `cve_2026_31431.yar`

> **Scan-Bereich:** Diese Regel ist dazu ausgelegt, Python-Skriptdateien auf der Festplatte oder aus Speicherabbildern zu scannen. Sie wird das bekannte PoC und enge Varianten erkennen. Sie wird die Exploit-Aktivität auf Syscall-Ebene NICHT erkennen – verwenden Sie dafür die auditd/Wazuh-Regeln.```yara
rule CVE_2026_31431_CopyFail_PoC_HighConfidence {
    meta:
        description     = "High-confidence match: CVE-2026-31431 Copy Fail PoC or close variant"
        author          = "Detection Engineering"
        reference       = "https://xint.io/blog/copy-fail-linux-distributions"
        cve             = "CVE-2026-31431"
        date            = "2026-04-30"
        severity        = "High"
        cvss            = "7.8"

    strings:
        // Algorithm string unique to this exploit path — very high fidelity
        $alg_full      = "authencesn(hmac(sha256),cbc(aes))" ascii

        // Specific socket call signature from PoC: AF_ALG=38, SOCK_SEQPACKET=5
        $socket_call   = "socket(38,5,0)" ascii

        // SOL_ALG socket option (decimal 279)
        $solalg        = "setsockopt(279" ascii

        // Hex key/iv payload written via setsockopt in PoC
        $key_payload   = "0800010000000010" ascii

        // splice() usage in context of AEAD operations
        $splice        = "splice(" ascii

        // Target indicators from PoC (page-cache corruption targets)
        $target_passwd = "/etc/passwd" ascii
        $target_su     = "/usr/bin/su" ascii

        // AF_ALG aead bind strings
        $aead_bind     = "\"aead\"" ascii
Tool herunterladen