CVE-2026-43494 ("PinTheft")
(Aktueller Status: gefixt in allen Repo-Kernel)
Das Exploit macht sich einen Fehler im Kernelmodul rds zu nutze. Eine vom User mittels Funktionalität aus dem Modul erstellte Referenz im page cache wird durch das Exploit ausgenutzt um ein vorher präpariertes, modifiziertes suid Programm auf diese User page cache adresse umzuleiten. Anschließend wird das original Programm im Dateisystem durch das modifizierte suid-Binary ersetzt. Bei Verwendung von z.B. /usr/bin/su als suid-Binary ergibt sich dann eine passwortlose Root-Shell.
Voraussetzungen zur Ausnutzung:
- der Kernel ist mit CONFIG_RDS + CONFIG_RDS_TCP gebaut.
- Das Modul rds ist ladbar
- Es wird (wie bei den anderen Exploits) ein lokaler Login und Shell benötigt, das betrifft dann auch Zugriff von Remote.
Risikoeinschätzung:
- theoretisch durch Ausnutzung des Bugs in gezielten (remote) Angriffsszenarien: nicht bekannt, relativ niedrig.
- praktisch durch Verwendung des Exploits auf nicht entsprechend abgesicherten Geräten: hoch
Auch dieser per KI(von v12-security) gefundene Fehler ist m.E. nur deshalb erwähnenswert da es ein öffentlich verfügbares Exploit/ProofOfConcept mit unmittelbarer Auswirkung gibt. Allerdings wurde diesmal vor Veröffentlichung ein Patch erstellt/kommuniziert.
Patch/Commit Upstream
getestete Archlinux Kernelversionen
(Start: 20.05.2026 09:30 Aktuell: 25.05.2026 09:00)
[core]
linux (fixed ✅)
- 7.0.9-arch1-1 = verwundbar
- 7.0.9-arch2-1 = NICHT verwundbar ¹
- 7.0.10-arch1-1 = NICHT verwundbar ²
linux-lts (fixed ✅)
- 6.18.32-1-lts = verwundbar
- 6.18.32-2-lts = NICHT verwundbar ¹
- 6.18.33-1-lts = NICHT verwundbar ²
[extra]
linux-zen (fixed ✅)
- 7.0.9-zen1-1-zen = verwundbar
- 7.0.9-zen2-1-zen = NICHT verwundbar ¹
- 7.0.10-zen1-1 = NICHT verwundbar ²
linux-hardened (fixed ✅)
- 7.0.9-hardened1-1-hardened = NICHT verwundbar
linux-rt (fixed ✅)
- 7.0.9-rt2-arch1-1-rt = verwundbar
- 7.0.9-rt2-arch3-1-rt = NICHT verwundbar ¹
- 7.0.10-rt2-arch1-1-rt = NICHT verwundbar ²
linux-rt-lts (fixed ✅)
- 6.6.87-rt54-arch1-7-rt-lts = NICHT verwundbar
- 6.12.90-rt18-arch2-1-rt-lts = NICHT verwundbar ¹
- 6.12.91-rt18-arch1-1-rt-lts = NICHT verwundbar ²
[miffe] (Das Repository von miffe ist nicht offiziell)
- mainline
- 7.1.0-rc4-1-mainline = NICHT verwundbar
¹ Fixed durch/by archlinux patch
² Fixed durch/by Upstream
Massnahmen,Checks
Check: prüfen ob die Module rds und rds-tcp unerwünscht geladen sind.
Check: pacman -Qkk util-linux (wichtigste suid-Binaries, sollte keinen Checksum-Error zeigen)
(ad-hoc)Abhilfe: die Module rds und rds-tcp blacklisten ¹ (wenn nicht benötigt)
(ad-hoc)Abhilfe: und/oder den io_uring SysCall ³ per sysctl abschalten
sudo sysctl -w kernel.io_uring_disabled=2
(generell)Abhilfe: das automatische Laden von Modulen blockieren ²
¹ https://wiki.archlinux.org/title/Kernel_module#Blacklisting
² https://wiki.archlinux.org/title/Security#Disable_loading_modules
Dieser Ansatz erfordert das Whitelisten von "guten, benötigten" Modulen sowohl im initramfs als auch im System. Es ist ein guter Ansatz für Geräte deren Zustand bzgl. Modulen sich während der Laufzeit nicht mehr ändert, wie Server bzw. ohne User/Desktop-Funktion. Das nachträgliche automatische Laden wird dadurch generell verhindert, was einen guten Schutz gegen die aktuellen auf CopyFail-basierenden Exploits bietet. Auf Desktop-Systemen eher weniger, bzw. mit erheblichem Aufwand, da z.B. beim Einstecken eines USB-Sticks das notwendige usb-storage Modul nicht automatisch geladen würde.
³ https://en-wikipedia-org.translate.goog/wiki/Io_uring?_x_tr_sl=en&_x_tr_tl=de&_x_tr_hl=de&_x_tr_pto=rq#p-lang
Abschalten des io_uring SysCalls kann einige Datenbanken-Systeme und den asynchronen Ein./Ausgabe-Ablauf beeinträchtigen. Im Zweifelsfall testen.
Das gezeigte disablen per sysctl ist nur gültig für diesen Zustand, um es persistent zu machen siehe: https://wiki.archlinux.org/title/Sysctl#Configuration
Infos
Handhabung dieses Posts
- Damit es übersichtlich/informativ bleibt: Vermeiden wir bitte alle (oder ausufernde) Diskussionen in diesem Thread. Besser einen eigenen Diskussions-Thread benutzen oder erstellen.
- Gefixte Kernelversionen oder Updates: Werde ich in jeweils eigenen Posts hier einstellen, damit die Info auch "bemerkt" wird. Ich werde nur die erste Version des jeweiligen Kernels mit einem Fix aufführen, weitere ansonsten nur wenn sich der Fix-Level z.B. von archlinux-spezifischem Patch zu Upstream-Fix ändert.
- Für generelle Empfehlungen zur Absicherung solcher Probleme siehe den Security-Artikel im englischen Wiki.
//Edit: Hinweis zu Module autoloading, Debian-Patchinfo, Fix für linux-rt+linux-rt-lts, io_uring Hinweis, CVE vorhanden,linux-lts fix, linux+linux-zen Fixes, Gelöst-Flag, Upstream-Fixes