Der er identificeret en femte kritisk sårbarhed i Linux-kernen (1, 2, 3) inden for de seneste to uger, som giver en bruger mulighed for at hæve sine privilegier i systemet. To fungerende udnyttelser er blevet offentliggjort: sshkeysign_pwn giver en ikke-privilegeret bruger mulighed for at læse indholdet af lukkede vært-SSH-nøgler /etc/ssh/ssh_host_*_key, mens chage_pwn giver mulighed for at læse indholdet af filen /etc/shadow, der indeholder brugeradgangskoder.
Oplysninger om sårbarheden var ikke planlagt til offentliggørelse, men en af sikkerhedsforskerne kunne på grundlag af det foreslåede patch til kernen bestemme essensen af sårbarheden, som tillader læsning af filer, der kun er tilgængelige for root-brugeren, for eksempel /etc/shadow. I den ændring, der blev tilføjet til kernen, blev logikken for anvendelse af funktionen get_dumpable() i ptrace ændret ved bestemmelsen af adgangsniveauet i funktionen ptrace_may_access().
Sårbarheden skyldes direkte en race-tilstand, som fører til muligheden for ikke-privilegeret adgang til file descriptor pidfd efter adgang til filen fra en suid root-proces. I det tidsrum, der opstår mellem åbningen af filen og nulstillingen af privilegierne i suid-programmet (for eksempel via funktionen setreuid), opstår der en situation, hvor applikationen, der har startet suid root-programmet, kan tilgå en åben fil i suid-programmet gennem pidfd-deskriptoren, selvom filrettighederne ikke tillader det.
Vinduet til udnyttelse opstår, fordi funktionen «__ptrace_may_access()» springer tjekket for filadgang over, hvis feltet task->mm er sat til NULL efter udførelsen af exit_mm(), men før kaldet til exit_files(). På dette tidspunkt antager systemopkaldet pidfd_getfd, at bruger-id (uid) for den kaldende proces svarer til det id, der har fået tilladelse til at tilgå filen. Det er bemærkelsesværdigt, at problemet tidligere blev påpeget i 2020, men det er forblevet ubehandlet.
I udnyttelsen, der henter indhold fra /etc/shadow, reduceres angrebet til en cyklisk opstart gennem fork+execl-applikationen /usr/bin/chage med suid root-flaget, som læser indholdet af /etc/shadow. Når processen er blevet separeret, udføres systemopkaldet pidfd_open, og der foregår en cyklisk gennemgang af tilgængelige pidfd-deskriptorer gennem systemopkaldet pidfd_getfd og deres kontrol via /proc/self/fd. I udnyttelsen sshkeysign_pwn udføres lignende manipulationer med suid root-programmet ssh-keysign.
CVE-identifikatoren for problemet er endnu ikke tildelt, og opdateringer til kernen og pakkerne i distributionerne er ikke offentliggjort. I de kernelversioner, der blev udgivet for et par timer siden, 7.0.7, 6.18.30 og 6.12.88, er sårbarheden ikke blevet løst. På tidspunktet for nyhedsbrevets udgivelse kan kun en patch anvendes. Mulige omgåelse til at blokere sårbarheden diskuteres, såsom at sætte sysctl kernel.yama.ptrace_scope=3 eller fjerne suid root-flaget fra eksekverbare filer i systemet (i det mindste fra værktøjerne ssh-keysign og chage, der anvendes i udnyttelser).
Tilføjelse: Sårbarheden er tildelt CVE-2026-46333. Opdateringer til Linux-kernen 7.0.8, 6.18.31, 6.12.89, 6.6.139, 6.1.173, 5.15.207 og 5.10.256 er blevet dannet for at løse sårbarheden. Status for løsning af sårbarhederne i distributionerne kan vurderes på disse sider: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.
Kilde: opennet.ru
