I kÀrnan Linux Den femte (1, 2, 3) kritiska sÄrbarheten under de senaste tvÄ veckorna har identifierats, vilket gör det möjligt för en anvÀndare att eskalera sina privilegier i systemet. TvÄ fungerande exploateringar har publicerats: sshkeysign_pwn tillÄter en oprivilegierad anvÀndare att lÀsa innehÄllet i privata SSH-nycklar /etc/ssh/ssh_host_*_key, och chage_pwn tillÄter en oprivilegierad anvÀndare att lÀsa innehÄllet i /etc/shadow-filen som innehÄller anvÀndarlösenordshashes.
SÄrbarheten var inte avsedd att avslöjas, men en sÀkerhetsforskare kunde identifiera sÄrbarheten, baserat pÄ en föreslagen kÀrnpatch, som tillÄter lÀsning av filer som endast Àr tillgÀngliga för root-anvÀndaren, till exempel /etc/shadow. KÀrnÀndringen justerade logiken för att anvÀnda funktionen get_dumpable() i ptrace vid bestÀmning av ÄtkomstnivÄer i funktionen ptrace_may_access().
SÄrbarheten orsakas av ett kapplöpningsvillkor som tillÄter obehörig Ätkomst till pidfd-filbeskrivningen efter att ha öppnat en fil frÄn en suid-rotprocess. Mellan öppnandet av filen och ÄterstÀllning av behörigheter i suid-programmet (till exempel via funktionen setreuid) uppstÄr en situation dÀr ett program som kör suid-rotprogrammet kan komma Ät en fil som öppnats av suid-programmet via pidfd-beskrivningen, Àven om filens behörigheter inte tillÄter det.
Det utnyttjande fönstret uppstÄr eftersom funktionen "__ptrace_may_access()" hoppar över kontrollen av filÄtkomst om fÀltet task->mm Àr satt till NULL efter exit_mm() men innan exit_files() anropas. För nÀrvarande antar systemanropet pidfd_getfd att den anropande processens anvÀndar-ID (uid) matchar det anvÀndar-ID som Àr behörigt att komma Ät filen. Det Àr vÀrt att notera att detta problem tidigare ÄtgÀrdades 2020, men fortfarande Àr olöst.
I exploiten som hÀmtar innehÄllet i /etc/shadow bestÄr attacken av att upprepade gÄnger starta /usr/bin/chage-applikationen via fork+execl med suid-rootflaggan, som lÀser innehÄllet i /etc/shadow. Efter att processen forklavats körs systemanropet pidfd_open, och en loop av tillgÀngliga pidfd-deskriptorer utförs via pidfd_getfd-systemanropet och deras verifiering via /proc/self/fd. I sshkeysign_pwn-exploiten utförs liknande manipulationer med suid-rootprogrammet ssh-keysign.
Problemet har Ànnu inte tilldelats en CVE-identifierare, och kÀrn- och paketuppdateringar har inte publicerats i distributioner. SÄrbarheten Àr fortfarande ouppdaterad i kÀrnorna 7.0.7, 6.18.30 och 6.12.88, som slÀpptes för nÄgra timmar sedan. I skrivande stund kan endast patchen anvÀndas. Möjliga lösningar diskuteras, sÄsom att stÀlla in sysctl kernel.yama.ptrace_scope=3 eller ta bort suid-rootflaggan frÄn körbara filer i systemet (Ätminstone frÄn verktygen ssh-keysign och change som anvÀnds i exploits).
Uppdatering: SÄrbarheten har tilldelats identifieraren CVE-2026-46333. KÀrnuppdateringar har genererats. Linux 7.0.8, 6.18.31, 6.12.89, 6.6.139, 6.1.173, 5.15.207 och 5.10.256 med sÄrbarhetsÄtgÀrder. Status för sÄrbarhetsÄtgÀrder för dessa distributioner kan bedömas pÄ dessa sidor: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.
KĂ€lla: opennet.ru
