Sa kaibuturan Linux Natukoy na ang ikalimang (1, 2, 3) kritikal na kahinaan sa nakalipas na dalawang linggo, na nagpapahintulot sa isang user na i-eskala ang kanilang mga pribilehiyo sa sistema. Dalawang gumaganang exploit ang nailathala: ang sshkeysign_pwn ay nagbibigay-daan sa isang unprivileged user na basahin ang mga nilalaman ng pribadong host SSH keys /etc/ssh/ssh_host_*_key, at ang chage_pwn ay nagbibigay-daan sa isang unprivileged user na basahin ang mga nilalaman ng /etc/shadow file na naglalaman ng mga hash ng password ng user.
Ang kahinaan ay hindi nilayong ibunyag, ngunit natukoy ng isang mananaliksik sa seguridad ang kahinaan, batay sa isang iminungkahing kernel patch, na nagpapahintulot sa pagbabasa ng mga file na maa-access lamang ng root user, tulad ng /etc/shadow. Inayos ng pagbabago sa kernel ang lohika para sa paggamit ng get_dumpable() function sa ptrace kapag tinutukoy ang mga antas ng access sa ptrace_may_access() function.
Ang kahinaan ay sanhi ng isang kundisyon ng karera na nagpapahintulot sa walang pribilehiyong pag-access sa pidfd file descriptor pagkatapos ma-access ang isang file mula sa isang proseso ng suid root. Sa pagitan ng pagbubukas ng file at pag-reset ng mga pribilehiyo sa suid program (halimbawa, sa pamamagitan ng setreuid function), lumilitaw ang isang sitwasyon kung saan ang isang application na nagpapatakbo ng suid root program ay maaaring ma-access ang isang file na binuksan ng suid program sa pamamagitan ng pidfd descriptor, kahit na hindi ito pinapayagan ng mga pahintulot ng file.
Lumilitaw ang exploitable window dahil nilalaktawan ng function na "__ptrace_may_access()" ang pagsuri para sa file access kung ang task->mm field ay nakatakda sa NULL pagkatapos ng exit_mm() ngunit bago pa man tawagin ang exit_files(). Sa kasalukuyan, ipinapalagay ng system call ng pidfd_getfd na ang user ID (uid) ng proseso ng pagtawag ay tumutugma sa user ID na awtorisadong mag-access sa file. Mahalagang tandaan na ang isyung ito ay natugunan na noon noong 2020, ngunit nananatiling hindi naaayos.
Sa exploit na kumukuha ng mga nilalaman ng /etc/shadow, ang pag-atake ay binubuo ng paulit-ulit na paglulunsad ng /usr/bin/chage application sa pamamagitan ng fork+execl na may suid root flag, na nagbabasa ng mga nilalaman ng /etc/shadow. Pagkatapos mag-fork ang proseso, isasagawa ang pidfd_open system call, at isang loop ng mga available na pidfd descriptor ang isinasagawa sa pamamagitan ng pidfd_getfd system call at ang kanilang beripikasyon sa pamamagitan ng /proc/self/fd. Sa sshkeysign_pwn exploit, ang mga katulad na manipulasyon ay isinasagawa gamit ang suid root ssh-keysign program.
Ang isyu ay hindi pa nabibigyan ng CVE identifier, at ang mga update sa kernel at package ay hindi pa nai-publish sa mga distribution. Ang kahinaan ay nananatiling hindi naaayos sa mga kernel 7.0.7, 6.18.30, at 6.12.88, na inilabas ilang oras na ang nakalipas. Sa panahon ng pagsulat, tanging ang patch lamang ang maaaring gamitin. Mga posibleng workaround ang tinatalakay, tulad ng pagtatakda ng sysctl kernel.yama.ptrace_scope=3 o pag-alis ng suid root flag mula sa mga executable sa system (kahit man lang mula sa mga ssh-keysign at chage utilities na ginagamit sa mga exploit).
Update: Ang kahinaan ay itinalaga sa identifier na CVE-2026-46333. Nabuo na ang mga update sa kernel. Linux 7.0.8, 6.18.31, 6.12.89, 6.6.139, 6.1.173, 5.15.207, at 5.10.256 na may mga pag-aayos sa kahinaan. Ang katayuan ng pag-aayos sa kahinaan para sa mga distribusyong ito ay maaaring masuri sa mga pahinang ito: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora.
Pinagmulan: opennet.ru
