CVE-2026-31431: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 
=Beschreibung=
 
=Beschreibung=
  
=Prof of Concept=
+
CVE-2026-31431, bekannt unter dem Namen „Copy Fail", ist eine schwerwiegende
*git clone https://github.com/rootsecdev/cve_2026_31431/
+
Sicherheitslücke im Linux-Kernel, die seit 2017 in praktisch allen gängigen
*cd cve_2026_31431/
+
Linux-Distributionen vorhanden ist (CVSS 7.8, „hoch").
*python3 test_cve_2026_31431.py
+
 
*python3 exploit_cve_2026_31431.py --shell
+
Die Schwachstelle steckt im Kernel-Modul <code>algif_aead</code>, das Teil der
 +
kryptografischen Schnittstelle des Kernels ist. Durch einen Logikfehler kann ein
 +
normaler Benutzer ohne Root-Rechte gezielt Daten in den sogenannten ''Page Cache''
 +
des Kernels schreiben – den Arbeitsspeicher-Bereich, in dem der Kernel Dateien
 +
zwischenspeichert.
 +
 
 +
Das Besondere: Die eigentliche Datei auf der Festplatte bleibt unverändert.
 +
Klassische Methoden zur Angriffserkennung wie Hashprüfungen oder Log-Analysen
 +
schlagen daher nicht an. Nach einem Neustart oder beim nächsten Leeren des Caches
 +
verschwinden alle Spuren automatisch.
 +
 
 +
Im Gegensatz zu vielen anderen Kernel-Exploits erfordert Copy Fail keine
 +
Programmierkenntnisse, kein präzises Timing und funktioniert zuverlässig auf
 +
allen betroffenen Systemen mit demselben Script.
 +
 
 +
=Proof of Concept=
 +
 
 +
* <code>git clone https://github.com/rootsecdev/cve_2026_31431/</code>
 +
* <code>cd cve_2026_31431/</code>
 +
* <code>python3 test_cve_2026_31431.py</code> – prüft ob das System verwundbar ist
 +
* <code>python3 exploit_cve_2026_31431.py --shell</code> – führt die Privilege Escalation durch
 +
 
 
=Fix=
 
=Fix=
 +
 +
Bis ein offizieller Kernel-Patch für die verwendete Distribution verfügbar ist,
 +
kann das verwundbare Modul deaktiviert werden. Dieser Schritt erfordert keinen
 +
Neustart und hat keine Auswirkungen auf normale Systemfunktionen wie
 +
Festplattenverschlüsselung, SSH oder VPN.
 +
 +
<syntaxhighlight lang="bash">
 +
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
 +
rmmod algif_aead 2>/dev/null || true
 +
</syntaxhighlight>
 +
 +
Nach einem verfügbaren Kernel-Update:
 +
 +
<syntaxhighlight lang="bash">
 +
apt update && apt upgrade  # Debian/Ubuntu
 +
dnf update                  # Rocky Linux / RHEL
 +
</syntaxhighlight>
 +
 +
Anschließend Neustart und prüfen ob das Update den Patch enthält.

Version vom 1. Mai 2026, 10:03 Uhr

Beschreibung

CVE-2026-31431, bekannt unter dem Namen „Copy Fail", ist eine schwerwiegende Sicherheitslücke im Linux-Kernel, die seit 2017 in praktisch allen gängigen Linux-Distributionen vorhanden ist (CVSS 7.8, „hoch").

Die Schwachstelle steckt im Kernel-Modul algif_aead, das Teil der kryptografischen Schnittstelle des Kernels ist. Durch einen Logikfehler kann ein normaler Benutzer ohne Root-Rechte gezielt Daten in den sogenannten Page Cache des Kernels schreiben – den Arbeitsspeicher-Bereich, in dem der Kernel Dateien zwischenspeichert.

Das Besondere: Die eigentliche Datei auf der Festplatte bleibt unverändert. Klassische Methoden zur Angriffserkennung wie Hashprüfungen oder Log-Analysen schlagen daher nicht an. Nach einem Neustart oder beim nächsten Leeren des Caches verschwinden alle Spuren automatisch.

Im Gegensatz zu vielen anderen Kernel-Exploits erfordert Copy Fail keine Programmierkenntnisse, kein präzises Timing und funktioniert zuverlässig auf allen betroffenen Systemen mit demselben Script.

Proof of Concept

  • git clone https://github.com/rootsecdev/cve_2026_31431/
  • cd cve_2026_31431/
  • python3 test_cve_2026_31431.py – prüft ob das System verwundbar ist
  • python3 exploit_cve_2026_31431.py --shell – führt die Privilege Escalation durch

Fix

Bis ein offizieller Kernel-Patch für die verwendete Distribution verfügbar ist, kann das verwundbare Modul deaktiviert werden. Dieser Schritt erfordert keinen Neustart und hat keine Auswirkungen auf normale Systemfunktionen wie Festplattenverschlüsselung, SSH oder VPN.

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead 2>/dev/null || true

Nach einem verfügbaren Kernel-Update:

apt update && apt upgrade   # Debian/Ubuntu
dnf update                  # Rocky Linux / RHEL

Anschließend Neustart und prüfen ob das Update den Patch enthält.