Sicherheitsanfälligkeit im Linux-Pidfd-Unterstützungssystem, die es ermöglicht, für den Benutzer nicht zugängliche Dateien zu lesen.

Im Linux-Kernel wurde die fünfte kritische Sicherheitsanfälligkeit (1, 2, 3) in den letzten zwei Wochen entdeckt, die es einem Benutzer ermöglicht, seine Privilegien im System zu erhöhen. Es wurden zwei funktionale Exploits veröffentlicht: der sshkeysign_pwn ermöglicht es einem nicht privilegierten Benutzer, den Inhalt geschützter Host-SSH-Schlüssel unter /etc/ssh/ssh_host_*_key zu lesen, während chage_pwn den Zugriff auf die Datei /etc/shadow mit den Benutzerpasswort-Hashes erlaubt.

Die Informationen über die Sicherheitsanfälligkeit sollten nicht veröffentlicht werden, aber einer der Sicherheitsforscher konnte auf der Grundlage des vorgeschlagenen Patches für den Kernel die Art der Anfälligkeit bestimmen, die es ermöglicht, Dateien zu lesen, die nur für den Benutzer root zugänglich sind, wie zum Beispiel /etc/shadow. In der im Kernel hinzugefügten Änderung wurde die Logik der Verwendung der Funktion get_dumpable() in ptrace zur Bestimmung des Zugriffslevels in der Funktion ptrace_may_access() angepasst.

Die Schwachstelle wird durch einen Race Condition verursacht, die zu unprivilegiertem Zugriff auf den Dateideskriptor pidfd führt, nachdem eine Datei aus einem SUID-Root-Prozess aufgerufen wurde. In dem Moment zwischen dem Öffnen der Datei und dem Zurücksetzen der Berechtigungen in dem SUID-Programm (zum Beispiel über die Funktion setreuid), entsteht eine Situation, in der die Anwendung, die das SUID-Root-Programm gestartet hat, über den Deskriptor pidfd auf die in dem SUID-Programm geöffnete Datei zugreifen kann, selbst wenn die Dateizugriffsrechte dies nicht erlauben.

Das Fenster für die Ausnutzung entsteht, weil die Funktion „__ptrace_may_access()“ die Zugriffsprüfung überspringt, wenn das Feld task->mm auf NULL gesetzt wird, nachdem exit_mm() aufgerufen wurde, aber vor exit_files(). In diesem Moment geht der Systemaufruf pidfd_getfd davon aus, dass die Benutzer-ID (uid) des aufrufenden Prozesses mit der ID übereinstimmt, die den Zugriff auf die Datei erlaubt. Bemerkenswert ist, dass auf das Problem bereits 2020 hingewiesen wurde, es jedoch unbehandelt blieb.

Im Exploit, der Zugriff auf den Inhalt von /etc/shadow erhält, reduziert sich der Angriff auf einen zyklischen Aufruf des Programms /usr/bin/chage mit dem SUID-Flag root, welches den Inhalt von /etc/shadow liest. Nach der Abspaltung des Prozesses wird der Systemaufruf pidfd_open ausgeführt und es erfolgt eine zyklische Durchsuchung der verfügbaren pidfd-Deskriptoren durch den Systemaufruf pidfd_getfd, gefolgt von deren Überprüfung über /proc/self/fd. Im Exploit sshkeysign_pwn werden ähnliche Manipulationen mit dem SUID-Root-Programm ssh-keysign durchgeführt.

Ein CVE-Identifier für das Problem wurde bisher nicht zugewiesen, und Aktualisierungen des Kernels sowie der Pakete in den Distributionen wurden nicht veröffentlicht. In den vor wenigen Stunden veröffentlichten Kernels 7.0.7, 6.18.30 und 6.12.88 wurde die Schwachstelle nicht behoben. Zum Zeitpunkt der Erstellung dieser Nachricht kann nur der Patch verwendet werden. Mögliche Workarounds zur Abschottung der Schwachstelle werden diskutiert, wie z. B. das Setzen von sysctl kernel.yama.ptrace_scope=3 oder das Entfernen des SUID-Root-Flags von ausführbaren Dateien im System (mindestens von den Tools ssh-keysign und chage, die in den Exploits verwendet werden).

Ergänzung: Die Schwachstelle wurde mit der CVE-Identifikationsnummer CVE-2026-46333 versehen. Updates für den Linux-Kernel in den Versionen 7.0.8, 6.18.31, 6.12.89, 6.6.139, 6.1.173, 5.15.207 und 5.10.256 sind veröffentlicht worden, um diese Schwachstelle zu beheben. Den Status der Schwachstellenbehebung in den Distributionen können Sie auf den folgenden Seiten einsehen: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster