Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
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.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/vasyapokemon/cve-2026-31431
Privilege EscalationSchwachstellenanalyseExploitationMalware-AnalyseDigitale ForensikEinbruchserkennungPapers & ForschungLernen & BildungIncident ResponseKuratierte RessourcenLabs & Praxis
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
GitHub
vasyapokemon/cve-2026-31431

cve-2026-31431

Forschungs- und Erkennungs-Toolkit für Linux-Kernel-LPE CVE-2026-31431, einschließlich Exploit-Analyse, YARA-Regeln, auditd/Falco-Erkennung, Patch-Anleitung und Laborumgebung.

Repository anzeigen

CVE-2026-31431 — „Copy Fail“: Lokale Rechteausweitung im Linux-Kernel algif_aead

CISA KEV | CVSS 7.8 HOCH | Betrifft Linux-Kernel 4.14 – Anfang 2026 (~9 Jahre)


Inhaltsverzeichnis

  1. Executive Summary
  2. Risikobewertung
  3. Technische Tiefenanalyse
  4. Angriffsmethodik — Red Team
  5. Erkennung & Incident Response — Blue Team
  6. Patchen & Behebung
  7. Laborumgebung
  8. Referenzen

1. Executive Summary

CVE-2026-31431, mit dem Spitznamen „Copy Fail“, ist eine Schwachstelle mit hohem Schweregrad zur lokalen Rechteausweitung (LPE) im kryptografischen Subsystem des Linux-Kernels. Ein lokaler Benutzer mit niedrigen Privilegien kann auf jedem ungepatchten System in Sekunden Root-Rechte erlangen.

AttributWert
CVECVE-2026-31431
SpitznameCopy Fail
CVSS v3.17.8 HOCH
AngriffsvektorLokal
Erforderliche PrivilegienNiedrig
BenutzerinteraktionKeine
Komponentecrypto/algif_aead.c — authencesn-Vorlage
Eingeführt2017 (Commit 72548b093ee3)
Offengelegt2026
Jahre unentdeckt~9 Jahre
CISA KEVJa
Öffentlicher PoCJa (732-Byte eigenständiges Python-Skript)

Geschäftliche Auswirkungen

  • Root-Zugriff auf jedem ungepatchten Linux-Server, jeder VM, Cloud-Instanz oder jedem Container-Host
  • Container-Escape aus Kubernetes-Pods — der Page Cache wird mit dem Host-Kernel geteilt
  • Keine Spuren auf dem Datenträger — die Ausnutzung hinterlässt keine Dateiänderungen, keine Dirty Pages, keine Audit-Trails über Standard-Tools zur Dateiintegritätsprüfung (Tripwire, AIDE)
  • Betrifft Red Hat, Ubuntu, Debian, SUSE, Amazon Linux sowie praktisch alle großen Distributionen, die Kernel ab 2017 ausführen

Empfohlene Sofortmaßnahme

  1. Temporäre Abschwächung (sofort bereitstellen, kein Neustart erforderlich, wenn das Modul nicht geladen ist): ```bash echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf sudo rmmod algif_aead 2>/dev/null || true
    root@kitploit:~
  2. Dauerhafte Behebung: Aktualisieren Sie die Kernel-Pakete über den Paketmanager Ihrer Distribution und starten Sie neu.
  3. Überprüfung: Führen Sie detection/check_vulnerable.sh vor und nach der Behebung aus.

2. Risikobewertung

CVSS 3.1-Vektorzeichenfolge```

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

root@kitploit:~
| Metrik | Wert | Begründung |
|--------|-------|-----------|
| Angriffsvektor | **Lokal** | Erfordert Shell-Zugriff (SSH, Container-Exec, physisch) |
| Angriffskomplexität | **Niedrig** | Zuverlässig, vollständig automatisiert — kein Race Condition erforderlich |
| Erforderliche Privilegien | **Niedrig** | Jedes unprivilegierte Benutzerkonto |
| Benutzerinteraktion | **Keine** | Keine Interaktion mit dem Opfer erforderlich |
| Vertraulichkeit | **Hoch** | Vollständige Systemkompromittierung |
| Integrität | **Hoch** | Vollständige Systemkompromittierung |
| Verfügbarkeit | **Hoch** | Vollständige Systemkompromittierung |

### Bedrohungslage

| Faktor | Bewertung |
|--------|-----------|
| PoC-Verfügbarkeit | Öffentlich, weaponized, 732 Byte eigenständiges Python |
| Exploit-Zuverlässigkeit | Hoch — funktioniert auf getesteten Distributionen ohne Modifikation |
| Erkennungsschwierigkeit | Hoch — keine Schreibvorgänge auf der Festplatte, keine Dirty Pages |
| Erforderliche Angreiferfähigkeiten | Niedrig — Script Kiddie mit öffentlichem PoC |
| CISA KEV | Hinzugefügt 2026 — aktiv überwacht |
| Microsoft Defender | Als unter aktiver Untersuchung markiert |

### Betroffene Umgebungen

| Umgebung | Risiko |
|-------------|------|
| Bare-Metal-Linux-Server | Kritisch |
| Linux-VMs (Cloud oder On-Premises) | Kritisch |
| Kubernetes-Knoten | Kritisch (ermöglicht auch Container-Escape) |
| Docker-Hosts | Kritisch |
| Shared Hosting / Multi-Tenant | Kritisch |
| WSL2 / Linux auf Windows | Je nach Kernel-Version bewerten |

---

## 3. Technischer Deep Dive

### 3.1 Hintergrund: AF_ALG und AEAD

Der Linux-Kernel stellt kryptografische Operationen über **AF_ALG-Sockets** (`AF_ALG = 38`) für Userspace-Anwendungen bereit. Diese Schnittstelle (`algif_aead`) erlaubt unprivilegierten Anwendungen, Kernel-Krypto-Hardwarebeschleuniger aufzurufen, ohne Kernel-Mode-Code zu benötigen.

**AEAD**-Algorithmen (Authenticated Encryption with Associated Data) wie AES-GCM und ChaCha20-Poly1305 werden häufig für TLS, Festplattenverschlüsselung und VPN-Protokolle verwendet. Die verwundbare Vorlage ist `authencesn` — eine AEAD-Komposition mit `hmac(sha256)` + `cbc(aes)` und Unterstützung für Extended Sequence Number (ESN), die üblicherweise in IPsec verwendet wird.

### 3.2 Grundursache

Im Jahr 2017 führte Commit `72548b093ee3` **In-Place-AEAD-Operationen** in `algif_aead` als Leistungsoptimierung ein — wodurch die Crypto-Engine denselben Puffer lesen und beschreiben konnte. Dies war fehlerhaft:```
The bug chain:

1. Caller binds AF_ALG socket to:
      authencesn(hmac(sha256),cbc(aes))

2. Caller sends a decryption request via sendmsg() with specific flags

3. Caller uses splice() to feed PAGE CACHE PAGES from an open file
   descriptor directly into the socket's scatterlist

4. The authencesn template, during ESN header processing, uses the
   OUTPUT BUFFER as scratch space — writing 4 bytes past the
   expected output boundary

5. Because the scatterlist contains page cache pages (not private
   copies), this scratch write lands DIRECTLY IN THE PAGE CACHE

6. Page cache is shared kernel-wide — all processes reading the
   same file now see the modified bytes

Key insight: splice() is zero-copy — it hands page cache references
to the socket. The in-place "optimization" then writes INTO those
pages. No dirty bit is set because the write goes through the crypto
engine, not the normal write path.

3.3 Die Write-Primitive

Die Schwachstelle ermöglicht einen kontrollierten 4-Byte-Schreibzugriff in den Page Cache jeder Datei, die der Angreifer zum Lesen öffnen kann:

Der Schreibzugriff ist wiederholbar — der Exploit schleift den 4-Byte-Schreibzugriff, um größere Codesequenzen zu patchen.

3.4 Exploit-Kette```

[1] Open /usr/bin/su (or any setuid-root binary) for reading ↓ [2] Map a copy to find target instruction bytes (e.g., UID check, execve path, security gate) ↓ [3] Compute exact page cache offset of target bytes ↓ [4] Set up AF_ALG socket → authencesn(hmac(sha256),cbc(aes)) ↓ [5] splice() the target binary's page cache into the socket ↓ [6] Trigger decryption → authencesn scratch write patches the target bytes in page cache (4 bytes per iteration) ↓ [7] Repeat for each 4-byte patch needed ↓ [8] Execute /usr/bin/su → runs root-owned setuid binary but now with attacker-controlled code in page cache ↓ [9] Root shell

root@kitploit:~
### 3.5 Warum Standard-Abwehrmaßnahmen versagen

| Abwehrmaßnahme | Umgangen? | Grund |
|---------|-----------|--------|
| Dateiintegritätsüberwachung (Tripwire/AIDE) | **Ja** | Keine Änderung auf der Festplatte |
| IDS-Dateihash-Prüfungen | **Ja** | Festplatten-Bytes unverändert |
| `inotify`-Dateiüberwachung | **Ja** | Kein VFS-Schreibereignis |
| SELinux / AppArmor | **Teilweise** | Kontrolliert den Prozess, nicht den Page-Cache-Schreibvorgang über die Krypto-Engine |
| Schreibgeschützte Mounts | **Ja** | Page-Cache im Speicher geändert, nicht über den Mount |
| auditd-`watch` auf Binärdatei | **Ja** | Audit überwacht VFS-Schreibvorgänge — dies umgeht VFS |

### 3.6 Betroffene Kernel-Versionen

| Zweig | Anfällig bis | Behoben ab |
|--------|-------------------|------------|
| 4.14.x | Alle (Ursprung der Schwachstelle) | Kein Upstream-Fix (EOL) |
| 5.4.x (LTS) | Alle | Distributions-Backport erforderlich |
| 5.10.x (LTS) | Alle | Distributions-Backport erforderlich |
| 5.15.x (LTS) | Alle | Distributions-Backport erforderlich |
| 6.1.x (LTS) | ≤ 6.1.129 | **6.1.130+** |
| 6.6.x (LTS) | ≤ 6.6.86 | **6.6.87+** |
| 6.12.x (LTS) | ≤ 6.12.22 | **6.12.23+** |
| 6.15-rc | In rc behoben | **6.15-rc+** |

> Distributions-Kernel haben den Fix möglicherweise unter anderen Versionsnummern zurückportiert. Prüfen Sie immer das Sicherheitsbulletin Ihrer Distribution.

---

## 4. Angriffsmethodik — Red Team

> **Autorisierung erforderlich.** Dieser Abschnitt dient dazu, Verteidigern die Angreiferperspektive zu vermitteln. Führen Sie Tests nur auf Systemen aus, die Ihnen gehören oder für die Sie eine ausdrückliche schriftliche Testautorisierung besitzen.

### 4.1 Voraussetzungen

- Shell mit niedrigen Rechten auf dem Zielsystem (SSH, Container-Exec, RCE-Kette)
- Python 3.10+ **oder** kompilierte C-Binärdatei
- Ungepatcher Kernel mit verfügbarem `algif_aead`

### 4.2 Aufklärung```bash
# Check if vulnerable
uname -r
cat /proc/crypto | grep -A10 "authencesn"
lsmod | grep algif_aead

# Verify setuid target exists
ls -la /usr/bin/su /usr/bin/sudo /usr/bin/passwd

4.3 Öffentlicher PoC

Die ursprünglichen Forscher (Theori) haben einen voll funktionsfähigen, eigenständigen Python-PoC mit 732 Bytes veröffentlicht:

  • Repository: https://github.com/theori-io/copy-fail-CVE-2026-31431
  • Website: https://copy.fail
  • Datei: `copy_fail_exp.py````bash

Default: targets /usr/bin/su

python3 copy_fail_exp.py

Custom target

python3 copy_fail_exp.py /usr/bin/passwd

root@kitploit:~
Eine lokale Kopie ist unter `exploit/poc.py` verfügbar. Technische Details finden Sie in `exploit/README.md`.

### 4.4 Container-Escape-Szenario

Da der Linux-Page-Cache von allen Prozessen auf demselben Host gemeinsam genutzt wird (einschließlich Host und Containern):```
Attacker in container → patches /usr/bin/su in HOST page cache
Host user runs su → executes attacker code as root on host

Dies funktioniert sogar aus nicht-privilegierten Containern, solange der Host-Kernel verwundbar ist.

4.5 MITRE ATT&CK Mapping


5. Erkennung & Incident Response — Blue Team

Dies ist der primäre Fokus dieses Repositorys.

5.1 Schwachstellenerkennung

Führen Sie das Erkennungsskript auf einem beliebigen Linux-System aus:```bash chmod +x detection/check_vulnerable.sh sudo ./detection/check_vulnerable.sh

root@kitploit:~
**Was geprüft wird:**
- Kernel-Version gegen bekannte anfällige Bereiche
- Lade- und Blacklist-Status des `algif_aead`-Moduls
- Verfügbarkeit von `authencesn` in `/proc/crypto`
- Integrität des Page-Cache von setuid-Binaries (erfordert Root)
- Verteilungsspezifischer Patch-Status
- Laufende Prozesse auf aktive Exploit-Indikatoren

Ein mit Zeitstempel versehener Bericht wird unter `/tmp/cve-2026-31431-report-*.txt` gespeichert.

### 5.2 YARA-Erkennung

Zwei YARA-Regeln werden in `detection/yara/` bereitgestellt:

| Regeldatei | Zweck |
|-----------|---------|
| `cve_2026_31431_base.yar` | Stimmt exakt mit bekannten öffentlichen PoCs überein |
| `cve_2026_31431_enhanced.yar` | Erkennt verschleierte, kompilierte und Varianten-Exploits |```bash
# Install YARA
apt-get install yara   # Debian/Ubuntu
dnf install yara       # RHEL/Fedora
apk add yara           # Alpine

# Scan running process executables
sudo yara -r detection/yara/cve_2026_31431_enhanced.yar /proc/*/exe 2>/dev/null

# Scan common dropper locations
sudo yara -r detection/yara/cve_2026_31431_enhanced.yar /home /tmp /var/tmp /dev/shm

# Scan uploaded files / quarantine
yara detection/yara/cve_2026_31431_base.yar <suspect_file>

Warum erweiterte Regeln wichtig sind: Angreifer können den öffentlichen Python-PoC verschleiern (Strings base64-kodieren, den Algorithmusnamen XOR-kodieren, zu einem C-Binary kompilieren, Symbole entfernen). Die erweiterte Regel erkennt diese Varianten, indem sie auf Invarianten abzielt, die nicht entfernt werden können, ohne den Exploit zu brechen:

  • Der Kernel MUSS authesn als Algorithmusnamen empfangen
  • Der Exploit MUSS splice() verwenden, um Zero-Copy-Seitencache-Zugriff zu erreichen
  • Der Exploit MUSS einen AF_ALG-Socket (Familie 38) erstellen

5.3 Auditd-Regeln

Bereitstellen unter /etc/audit/rules.d/cve-2026-31431.rules:```bash

Detect AF_ALG socket creation (family 38 = 0x26)

-a always,exit -F arch=b64 -S socket -F a0=38 -k cve_2026_31431_afalg

Detect splice() calls — used to feed page cache into the socket

-a always,exit -F arch=b64 -S splice -k cve_2026_31431_splice

Monitor algif_aead module loading

-a always,exit -F arch=b64 -S init_module -S finit_module -k cve_2026_31431_modload

Detect setuid binary execution by non-root users

-a always,exit -F arch=b64 -S execve -F euid=0 -F auid>=1000 -k cve_2026_31431_suid_exec

root@kitploit:~
Reload:```bash
augenrules --load && service auditd restart

Query für Exploit-Versuche:```bash

Look for AF_ALG socket creation

ausearch -k cve_2026_31431_afalg --start today

Correlate: same PID doing AF_ALG socket + splice

ausearch -k cve_2026_31431_afalg -k cve_2026_31431_splice --start today

root@kitploit:~
### 5.4 Falco / eBPF-Erkennung

Fügen Sie zu `/etc/falco/rules.d/cve-2026-31431.yaml` hinzu:```yaml
- rule: CVE-2026-31431 AF_ALG Socket Creation
  desc: Detects unprivileged process creating AF_ALG socket (family 38) — required step for Copy Fail exploit
  condition: >
    syscall.type = socket and
    evt.arg.domain = 38 and
    not user.uid = 0 and
    not proc.name in (known_crypto_daemons)
  output: >
    CVE-2026-31431 exploitation attempt - AF_ALG socket (user=%user.name
    uid=%user.uid pid=%proc.pid cmd=%proc.cmdline)
  priority: CRITICAL
  tags: [cve-2026-31431, lpe, kernel, crypto]

- list: known_crypto_daemons
  items: [strongswan, charon, pluto, openssl]

- rule: CVE-2026-31431 Splice After AF_ALG
  desc: Detects splice() syscall shortly after AF_ALG socket creation — exploitation sequence
  condition: >
    syscall.type = splice and
    not user.uid = 0 and
    evt.elapsed < 5000000000
  output: >
    CVE-2026-31431 splice after AF_ALG socket (user=%user.name pid=%proc.pid)
  priority: CRITICAL
  tags: [cve-2026-31431, lpe]

5.5 Integritätsprüfung des Page Cache

Da der Exploit den Page Cache ohne Schreiben auf die Festplatte verändert, sind Standard-FIM-Tools blind. Diese Prüfung erkennt aktive Ausnutzung:```bash #!/bin/bash

Compare in-memory binary against on-disk binary

SETUID_BINS=("/usr/bin/su" "/usr/bin/sudo" "/usr/bin/passwd")

for binary in "${SETUID_BINS[@]}"; do [[ -f "$binary" ]] || continue LIVE_HASH=$(sha256sum "$binary" | awk '{print $1}') echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null # flush page cache DISK_HASH=$(sha256sum "$binary" | awk '{print $1}') if [[ "$LIVE_HASH" != "$DISK_HASH" ]]; then echo "CRITICAL: Page cache tampering detected on $binary" echo " Pre-flush: $LIVE_HASH" echo " Post-flush: $DISK_HASH" else echo "OK: $binary page cache matches disk" fi done

root@kitploit:~
**Produktionshinweis:** `drop_caches` verursacht einen Leistungsabfall. Führen Sie dies zuerst während Wartungsfenstern oder auf nicht kritischen Systemen aus.

### 5.6 Indicators of Compromise (IoCs)

| IoC-Typ | Indikator | Konfidenz |
|----------|-----------|-----------|
| String (Binär/Skript) | `authencesn(hmac(sha256),cbc(aes))` | Hoch |
| Hex-Bytes | `78 DA AB 77 F5 71 63 62 64 64` (zlib-Payload-Header) | Hoch |
| Syscall-Sequenz | `socket(38,5,0)` → `bind()` → `splice()` | Hoch |
| Netzwerk | Keine — rein lokal | N/A |
| Datei | Keine Datenträger-Schreibvorgänge (Stealth) | — |
| Prozess | Kurzlebiger Python/C-Prozess mit AF_ALG-Socket | Mittel |
| Page-Cache | Setuid-Binärdatei im Page-Cache ≠ On-Disk-Hash | Kritisch |

### 5.7 SIEM-Erkennungsabfragen

**Splunk (auditd-Quelle):**```spl
index=linux_audit sourcetype=auditd action=SYSCALL syscall=socket a0="0x26"
| join pid [
    search index=linux_audit sourcetype=auditd action=SYSCALL syscall=splice
  ]
| where (_time - join_time) < 30
| table _time host user pid cmd a0
| eval severity="CRITICAL"

Elastisches KQL:```kql event.action: "SYSCALL" AND process.args: "socket" AND auditd.data.a0: "0x26" AND NOT user.id: "0"

root@kitploit:~
**Microsoft Sentinel (KQL):**```kql
Syslog
| where Facility == "kern" or ProcessName == "audit"
| where SyslogMessage contains "socket" and SyslogMessage contains "a0=0x26"
| extend UserName = extract("uid=([0-9]+)", 1, SyslogMessage)
| where UserName != "0"
| project TimeGenerated, Computer, UserName, SyslogMessage
| order by TimeGenerated desc

6. Patching & Remediation

Führen Sie das automatisierte Patch-Skript aus:```bash chmod +x patch/patch.sh sudo ./patch/patch.sh

root@kitploit:~
### 6.1 Sofortige Gegenmaßnahmen (Kein Neustart erforderlich*)```bash
# Blacklist the module permanently
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
echo "install authencesn /bin/false" | sudo tee -a /etc/modprobe.d/disable-algif-aead.conf

# Unload if currently loaded
sudo rmmod algif_aead 2>/dev/null || echo "Not loaded — mitigation active after config"

# Verify
lsmod | grep algif_aead && echo "WARNING: still loaded — reboot needed" || echo "OK: not loaded"

*Wenn algif_aead bereits geladen ist, ist ein Neustart erforderlich, damit die Blacklist vollständig wirksam wird.

Nebenwirkungen: Anwendungen, die die Kernel-AEAD-Schnittstelle über AF_ALG nutzen (ungewöhnlich – die meisten verwenden OpenSSL im Userspace), können fehlschlagen. Standard-TLS, Festplattenverschlüsselung und VPN-Tools sind in der Regel nicht betroffen.

6.2 Dauerhafte Lösung – Kernel-Update

6.3 Kubernetes-Cluster```bash

Check all node kernel versions

kubectl get nodes -o wide

Drain → update node kernel → uncordon (one node at a time)

kubectl drain --ignore-daemonsets --delete-emptydir-data

SSH into node and run kernel update

kubectl uncordon

root@kitploit:~
Nutzen Sie Node-Auto-Upgrader (Karpenter, Managed Node Groups) oder die Rotation des Cluster-Node-Pools, sofern verfügbar.

### 6.4 Verifizierung nach dem Patchen```bash
# Re-run detection script
sudo ./detection/check_vulnerable.sh

# Quick manual verification
uname -r                          # confirm new kernel version
lsmod | grep algif_aead           # should be empty
cat /proc/crypto | grep authencesn  # should return nothing (or still listed but module blacklisted)

7. Laborumgebung

Eine minimale Alpine-Docker-Lab-Umgebung wird zum sicheren Testen von Erkennungswerkzeugen bereitgestellt.```bash cd lab/ docker compose up -d docker exec -it cve-2026-31431-lab /bin/sh

Inside container:

/cve-2026-31431/detection/check_vulnerable.sh

root@kitploit:~
> **Wichtig:** Docker-Container teilen sich den Kernel des Hostsystems. Das Labor testet den Schwachstellenstatus **Ihres Host-Kernels**. Die Schwachstellenergebnisse spiegeln das tatsächliche Hostsystem wider – dies ist für eine realistische Bewertung beabsichtigt.

Für isolierte Tests mit einer bestimmten anfälligen Kernel-Version verwenden Sie eine dedizierte VM mit einem festgelegten Kernel. Siehe `lab/README.md` für Anleitungen zur VM-Einrichtung.

---

## 8. Referenzen

| Ressource | Link |
|----------|------|
| NVD-Advisory | https://nvd.nist.gov/vuln/detail/CVE-2026-31431 |
| Ursprüngliche Forschung | https://copy.fail |
| Technischer Bericht | https://xint.io/blog/copy-fail-linux-distributions |
| Öffentlicher PoC | https://github.com/theori-io/copy-fail-CVE-2026-31431 |
| CISA-KEV-Katalog | https://www.cisa.gov/known-exploited-vulnerabilities-catalog |
| Kernel-Fix – Revert-Commit | `a664bf3d603d` / `fafe0fa2995a` |
| Anfälliger Commit | `72548b093ee3` |
| Microsoft-Defender-Advisory | Microsoft Defender Threat Intelligence Blog |

---

## Repository-Struktur```
cve-2026-31431/
├── README.md                          ← This document
├── exploit/
│   ├── README.md                      ← Technical exploit breakdown
│   └── poc.py                         ← Public PoC (theori-io, for reference)
├── detection/
│   ├── README.md                      ← Detection guide
│   ├── check_vulnerable.sh            ← Vulnerability & IoC detection script
│   └── yara/
│       ├── cve_2026_31431_base.yar    ← Detects known public PoC
│       └── cve_2026_31431_enhanced.yar ← Detects obfuscated/compiled variants
├── patch/
│   ├── README.md                      ← Remediation guide
│   └── patch.sh                       ← Automated patch/mitigation script
└── lab/
    ├── README.md                      ← Lab setup guide
    ├── Dockerfile                     ← Alpine-based lab container
    └── docker-compose.yml             ← Lab orchestration

Diese Forschung dient ausschließlich Bildungs- und Verteidigungszwecken im Bereich der Cybersicherheit. Sämtliche Werkzeuge sind darauf ausgelegt, Verteidigern zu helfen, CVE-2026-31431 auf Systemen zu erkennen und zu beheben, die sie autorisiert sind zu schützen.

Repository gepflegt von rippsec

Tool herunterladen
EigenschaftWert
Schreibgröße4 Bytes
Offset-KontrolleJa — vom Angreifer kontrollierbar über den splice-Offset
ZielPage Cache jeder lesbaren Datei
Markierung als „dirty"Keine
Änderung auf der FestplatteKeine
Zeitstempel-AktualisierungKeine
Kernel-Log-EintragKeiner (sofern auditd nicht konfiguriert ist)
TechnikIDAnmerkungen
Exploitation for Privilege EscalationT1068Kerntechnik
Abuse Elevation Control Mechanism: Setuid/SetgidT1548.001Setuid-Binary-Hijack
Hijack Execution FlowT1574In-Memory-Binary-Patching
Indicator Removal: TimestompT1070.006Keine Zeitstempel aktualisiert
Indirect Command ExecutionT1202Gepatchte Binary führt Shell aus
DistributionUpdate-Befehl
Ubuntu / Debianapt-get update && apt-get upgrade linux-image-generic && reboot
RHEL / CentOS / Rockydnf update kernel && reboot
Amazon Linux 2yum update kernel && reboot
Amazon Linux 2023dnf update kernel && reboot
SUSE / SLESzypper update kernel-default && reboot
Arch Linuxpacman -Syu linux && reboot
Alpine Linuxapk update && apk upgrade linux-lts && reboot
Debianapt-get update && apt-get upgrade linux-image-amd64 && reboot