Im Linux-Kernel wurde eine Schwachstelle behoben, die den inoffiziellen Namen erhielt. ssh-keysign-pwn. 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 einigen Szenarien /etc/shadow. Zum Zeitpunkt der Veröffentlichung wurde noch kein separater CVE für das Problem zugewiesen.
Trotz des Namens handelt es sich nicht um einen Fehler im OpenSSH als Netzwerksdienst sshd, sondern um einen Fehler in der Logik des Linux-Kernels, der mit den ptrace-Prüfungen und dem Zugriff auf Dateideskriptoren eines anderen Prozesses über pidfd_getfd(2) zusammenhängt. Das OpenSSH-Tool ssh-keysign ist ein praktisches Beispiel für eine Ausnutzung, da es mit privaten Host-Schlüsseln arbeitet, die normalerweise root gehören und für normale Benutzer nicht zugänglich sind.
Die Hauptursache des Fehlers Es gab ein Problem mit der Funktion __ptrace_may_access(), die den Zustand eines Prozesses nicht korrekt bearbeitete, dessen mm-Struktur bereits verschwunden war, aber weiterhin offene Dateideskriptoren vorhanden waren. Beim Beenden des Prozesses ruft der Kernel exit_mm() auf, bevor die Dateien durch exit_files() geschlossen werden. In diesem kurzen Zeitraum erscheint der Prozess bereits so, als habe er keinen normalen Speicherbereich für Benutzer, jedoch existieren seine offenen Dateien noch. Daher konnte die Überprüfung des „dumpable“-Status umgangen werden, und pidfd_getfd() konnte auf einen fremden Dateideskriptor mit übereinstimmender UID zugreifen.
Das praktische Szenario dreht sich um setuid-Programme, die zunächst eine sensible Datei mit Root-Rechten öffnen, die Privilegien dann zurücksetzen und beendet werden, während sie noch einen offenen Deskriptor haben. In der veröffentlichten Beschreibung wird als Beispiel ssh-keysign angeführt: 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 auf /etc/shadow zugreifen kann, dann die effektiven Berechtigungen zurücksetzen und enden kann. In der Folge führt der Angriff nicht zwangsläufig sofort zu einer Shell mit Root-Rechten, ermöglicht jedoch den Zugriff auf Datei-Inhalte, die normalerweise als kritisch vertraulich gelten. Eine Leckage von /etc/shadow ist gefährlich, da sie die Möglichkeit eines anschließenden Offline-Passwort-Cracking bietet, während ein Leck privater SSH-Host-Schlüssel das Risiko birgt, den Host zu manipulieren oder Angriffe auf vertraute SSH-Skripte durchzuführen.
Die Korrektur wurde bereits in den Hauptzweig von Linux aufgenommen. Der Commit 31e62c2ebbfd mit dem Titel ptrace: leicht verbesserte Logik für ‘get_dumpable()’ ändert das Verhalten der Dumpability-Prüfung: Der Kernel speichert nun den Zustand user_dumpable beim Verschwinden von mm und erfordert eine korrekte Prüfung von CAP_SYS_PTRACE, um umgangen zu werden. 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 weist darauf hin, dass das Problem zum Zeitpunkt der Veröffentlichung alle Versionen des Linux-Kernels bis zum aktuellen Status des Mainline-Baums vor der Korrektur betraf. Der Autor des PoC gibt auch an, dass der Kernel vor dem Commit 31e62c2ebbfd, einschließlich stabiler Zweige zum 14. Mai, anfällig ist.
Es ist wichtig zu beachten, dass für den Betrieb keine speziellen Kernel-Module geladen werden müssen, wie es bei einigen kürzlichen LPE-Sicherheitsanfälligkeiten der Fall war. Lokaler, nicht privilegierter Zugriff auf das System und das Vorhandensein eines geeigneten privilegierten Hilfsprozesses sind ausreichend. Debian-Entwickler Daniel Baumann stellte fest, dass dieses Problem durch ein Kernel-Update und anschließendes Neustarten in das korrigierte Kernel behoben werden sollte.
Im veröffentlichten Repository zur Demonstration wird 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 vollständige Übersicht: Da der Fehler in der allgemeinen Logik des Kernels liegt, hängt die tatsächliche Abdeckung von der Kernel-Version und dem Vorhandensein einer Backport-Korrektur für die jeweilige Distribution ab.
Für Administratoren ist die Hauptempfehlung ganz einfach: Installieren Sie das aktualisierte Kernel-Paket Ihrer Distribution und starten Sie das System neu. Sollte der Verdacht bestehen, dass auf dem Rechner bereits lokaler, nicht privilegierter Zugriff durch einen Angreifer bestanden hat, ist es nach dem Update ratsam, zusätzlich über die Rotation der SSH-Host-Schlüssel und die Überprüfung der /etc/shadow/Nutzerkonten nachzudenken, da die Vulnerabilität direkt mit dem Lesen sensibler Dateien verbunden ist und nicht nur mit einem abstrakten Umgehen von Berechtigungsprüfungen.
In Debian hat bereits die Arbeit an der Übertragung des Fixes begonnen: Baumann berichtete von einem Cherry-Pick des Upstream-Commits in die trixie-fastforward-backports und von der Einreichung eines Merge Requests für Debian sid. Im Merge Request wird ausdrücklich darauf hingewiesen, dass der Commit 31e62c2 zur Behebung der ptrace-Logik des Dumpability-Features übertragen wird, die es nicht privilegierten Benutzern erlaubt, Root-Dateien zu lesen.
Quelle: linux.org.ru
