Eine Schwachstelle im Linux-Kernel, die den inoffiziellen Namen ssh-keysign-pwnträgt, wurde behoben. Das Problem ermöglicht es einem lokalen, nicht privilegierten Benutzer, Dateien zu lesen, die nur für root zugänglich sein sollten, einschließlich privater SSH-Host-Schlüssel und in bestimmten Szenarien /etc/shadow. Zu dem Zeitpunkt der Veröffentlichung war für das Problem noch keine separate CVE zugewiesen worden.
Trotz des Namens handelt es sich hierbei nicht um einen Fehler in OpenSSH als Netzwerkserver sshd, sondern um einen Fehler in der Logik des Linux-Kernels, der mit ptrace-Prüfungen und dem Zugriff auf Dateideskriptoren eines anderen Prozesses über pidfd_getfd(2) zusammenhängt. Das OpenSSH-Tool ssh-keysign erwies sich als eines der geeigneten Beispiele für einen Exploit, da es mit privaten Host-Schlüsseln arbeitet, die normalerweise root gehören und für gewöhnliche Benutzer unzugänglich sind.
Die Essenz des Fehlers liegt darin, dass die Funktion __ptrace_may_access() den Zustand eines Prozesses, dessen mm-Datenstruktur bereits verschwunden ist, aber noch offene Dateideskriptoren vorhanden sind, nicht korrekt verarbeitete. Beim Beenden des Prozesses ruft der Kernel exit_mm() früher auf, als er die Dateien über exit_files() schließt. In diesem kurzen Zeitrahmen sieht der Prozess bereits so aus, als hätte er keinen normalen Benutzeradressenraum mehr, aber seine offenen Dateien existieren noch. Daher könnte die Überprüfung des „dumpable“-Zustands umgangen werden, und pidfd_getfd() könnte auf einen anderen Dateideskriptor mit übereinstimmender UID zugreifen.
Ein praktisches Szenario basiert auf setuid-Programmen, die zunächst eine sensible Datei mit root-Rechten öffnen, dann die Privilegien zurücksetzen und beendet werden, während sie noch einen offenen Deskriptor haben. In der veröffentlichten Beschreibung wurde als Beispiel ssh-keysign genannt: es öffnet /etc/ssh/ssh_host_{ecdsa,ed25519,rsa}_key, setzt dann die Rechte zurück und kann beendet werden, wenn EnableSSHKeysign deaktiviert ist. Diese Schlüssel sollten nur für root zugänglich sein, da sie für die hostbasierte Authentifizierung verwendet werden.
Ein weiteres Beispiel ist chage, das /etc/shadow öffnen kann, dann die effektiven Rechte zurücksetzt und beendet. Dadurch führt der Angriff nicht unbedingt sofort zu einer Shell mit root-Rechten, ermöglicht jedoch den Zugriff auf den Inhalt von Dateien, die normalerweise als kritisch gesperrt gelten. Das Auslaufen von /etc/shadow birgt die Gefahr des nachfolgenden Offline-Passwort-Crackings, während das Auslaufen privater SSH-Host-Schlüssel das Risiko von Host-Manipulationen oder Angriffen auf vertrauenswürdige SSH-Szenarien mit sich bringt.
Die Korrektur wurde bereits in den Hauptzweig von Linux übernommen. Der Commit 31e62c2ebbfd mit der Überschrift ptrace: leicht sinnvollere ‚get_dumpable()‘-Logik ändert das Verhalten der dumpability-Prüfung: Der Kernel speichert jetzt den Status user_dumpable beim Verlust von mm und verlangt eine korrekte Überprüfung von CAP_SYS_PTRACE, um Umgehungen zu vermeiden. Der Patch betrifft include/linux/sched.h, kernel/exit.c und kernel/ptrace.c.
Die Schwachstelle wurde von Qualys gemeldet und am 14. Mai 2026 von Linus Torvalds behoben. Phoronix merkt an, dass zum Zeitpunkt der Veröffentlichung das Problem alle Kernel-Versionen bis zum aktuellen Stand des Mainline-Baums vor der Behebung betraf. Der Autor von PoC weist ebenfalls darauf hin, dass Kernel vor dem Commit 31e62c2ebbfd verletzlich sind, einschließlich stabiler Zweige zum Zeitpunkt des 14. Mai.
Es ist besonders wichtig zu beachten, dass für die Ausnutzung keine spezifischen Kernel-Module geladen werden müssen, wie bei einigen kürzlichen LPE-Sicherheitsanfälligkeiten. Ausreichend ist lokaler, nicht privilegierter Zugriff auf das System und ein geeigneter privilegierter Hilfsprozess. Der Debian-Entwickler Daniel Baumann hat angemerkt, dass dieses Problem durch ein Kernel-Update und einen anschließenden Neustart in einem gepatchten Kernel behoben werden sollte.
Im veröffentlichten Repository mit einer Demonstration ist die Überprüfung auf Raspberry Pi OS Bookworm mit Kernel 6.12.75, Debian 13, Ubuntu 22.04, Ubuntu 24.04, Ubuntu 26.04, Arch und CentOS 9 angegeben. Diese Liste sollte als die Daten des PoC-Autors betrachtet werden und nicht als umfassende Aufzählung: Da der Fehler in der allgemeinen Logik des Kernels liegt, hängt die tatsächliche Abdeckung von der Kernel-Version und der Verfügbarkeit des Backport-Patches im jeweiligen Distribution ab.
Für Administratoren ist die Hauptempfehlung einfach: Installieren Sie das aktualisierte Kernel-Paket Ihrer Distribution und starten Sie das System neu. Wenn es Gründe gibt zu glauben, dass auf der Maschine bereits lokaler nicht privilegierter Zugriff eines Angreifers bestanden hat, sollte nach dem Update zusätzlich die Rotation der SSH-Host-Schlüssel und die Überprüfung der /etc/shadow-Konten in Betracht gezogen werden, da die Schwachstelle selbst mit dem Lesen sensibler Dateien und nicht nur mit der abstrakten Umgehung der Zugriffskontrolle zusammenhängt.
In Debian hat bereits die Arbeit an der Übertragung des Patches begonnen: Baumann berichtete über einen Cherry-Pick des Upstream-Commits in trixie-fastforward-backports und über die Einreichung eines Merge-Requests für Debian sid. Im Merge-Request wird ausdrücklich darauf hingewiesen, dass der Commit 31e62c2 zur Korrektur der ptrace-Logik für dumpability übertragen wird, die es nicht privilegierten Benutzern ermöglicht, Root-Dateien zu lesen.
Quelle: linux.org.ru
