Qualys ααΆααααααα’ααααααααΆαααΆαααΆαααααααα (CVE-2021-4034) αα αααα»ααααΆαααΆαα»αααααααα Polkit (α’ααΈα PolicyKit) αααααααΎαααα»αααΆαα ααα αΆα ααΎααααΈα’αα»ααααΆαα±ααα’αααααααΎααααΆαααααααααΆααα·αααα·ααααΎαααααααΆααααααΆαααΆααα·αααα·α αΌαααααΎααααΆααααααα·ααααααα ααΆαααΆααααααααα’αα»ααααΆαα±ααα’αααααααΎααααΆαααααα»ααααααααααα·αααΆααα·αααα·αααααΎααα·αααα·αααααα½ααααααα»αααΆα root αα·αααα½αααΆαααΆααααααααααααααααααααααααααα αααα αΆαααααααΌαααΆαααααΆαααααααααΌαααΆ PwnKit α αΎααα½αα±ααααααααααΆαααααααΆααααΆαααα·αααΆαααααααααααα ααΆαααΆααααααααΎαααΆααααα»αααΆααααααααααΆαααΎαααΎααΆαα ααα αΆαααΈαα»α ααΆαα αααΎαα
αααα αΆααΊααΆαααααααΆααα αααα»αα§αααααααααΎααααΆαα pkexec αααα PolKit αααααααΆααααααΆαα½ααααα«α SUID α αΎαααααΌαααΆααα ααΆα‘αΎαααΎααααΈααααΎαααΆαααΆααααααααΆαααααΆααα·αααα·ααααα’αααααααΎααααααααααααα ααΆαα αααΆαα PolKit αααααΆααααααΆααα αααααΆαααααΆααααααααΆααα·αααααΉαααααΌαααα’αΆαα»ααααααααααΆααααΆααααααααΆαααααΆααααααΌααα pkexec α’αααααααΎααααΆααααααα·αααΆααα·αααα·α’αΆα ααααααΆααααααααααΆαα αα·αααααΎα±ααααΌααααααα½αααααααΎαααΆαααΆ root ααααα·ααα·αααΈα αααΆααα αΌαααααΎαααααΆααααααα αααααΆααααΆαααΆααααα αΆα ααΆαα·αααΆααααα αΆα’αααΈαααααΆαααααα αα·αααΆαααΉααααααΉαααααΌαααΆααααααΆαααα αααα»α PolKit ααααα ααΆαααααααααΆααα αΎαααααα»ααααααα root SUID ααααΌαααΆαααααααααααΆααα―αααΆααααα’αΆα ααααα·ααααα·ααΆαααΆαα½αααΉαα§αααααααααΎααααΆαα pkexec α
Pkexec αα·ααα·αα·αααααΎααα»ααααΆαααα ααα½αα’αΆαα»ααααααααααΆααααΆααααααααΆ (argc) αααααΆαααααααΆαααα αααα αΆααααααΎαααααΎαααΆαα α’αααα’αα·αααααα pkexec ααΆαααααααααΆααΆαα»ααΈαα½ααα αααα»αα’αΆαα argv αααααααΆααααααααααααΎαααΆα (pkexec) α αΎαααΈααΈαααΆααααααα NULL α¬αααααααααΆααααααααΆαααα αΆααααααΎαααΆαααα pkexec α αααααΆαααΆαααΆααα’αΆαα»ααααααα·αααααΌαααΆααα·αα·ααααααααΉαααΆαα·ααΆαα·αααα’αΆαα α αΎαααααΌαααΆαααααααααααΆαααααααααΆα 1 ααααα·αααΎααααΎαααΆααα½αααααΌαααΆαααααααΆααα’αΆαα argv ααα ααΌα ααααα»αααΆαααααα·ααααα·ααααααΈαα»α α’αα»ααααΆα pkexec ααΉαα αΆαααα»α NULL ααΆα’αΆαα»αααααααααΌα ( αααααααααΎαααΆα) αα·ααα½ααααααΆααααααα ααΆααααα ααα·ααααααα’αΆαααα ααΌα ααΆααΆαα·ααΆαααααααααΆααααα’αΆααα |ββ+ββββ+ββ+ββββ|ββββ+ββββ+ββ+ββββ| | argv[0] | argv[1] | ... | argv[argc] | envp[0] | envp[1] | ... | envp[envc] | |β-|β-+β-|β+ββ+ββ|ββ|β|β-+β-|β-+ββ+ββ|ββ| VVVVVV "αααααα·ααΈ" "-αααααΎα" NULL "ααααα" "PATH=name" NULL
αααα αΆααΊααΆαααααΆααααΈα’αΆαα argv ααΆαα’αΆαα envp αα αααα»αα’αααα αα αΆααααααΆαα’αααααα·ααααΆαα ααΌα ααααααααα·αααΎα’αΆαα argv ααΊααα pkexec ααααααα·ααααααα’αααΈααααΎαααΆαααΆααααααααΆαααααΆααα·αααα·ααΎαα‘αΎαααΈααΆαα»ααααΌαααα’αΆααααΆαα½αα’αααααα·ααααΆα (argv[1] ααααΆαααΆααΌα ααααΆααααα·ααα ααΉα envp[0]) ααΆαα·ααΆαααα’αΆα ααααΌαααΆαααααααααα αααα’αααααΆααααα αΆαα
αααααΆαααα½αααααααα argv[1] pkexec ααααΆααΆαααααα·αααΌαααΈααααΌαα―αααΆααααα»α PATH ααΎααααΈαααααααααΌααααααααα ααΆααα―αααΆααααα’αΆα ααααα·ααααα·ααΆα α αΎααααααααααα·α αα ααααα’ααααααΆαα½αααΉαααααΌααααααααααα‘αααα argv[1] ααα ααΆααα αααααΆααααααααΆααααΎαααααααα’αααααα·ααααΆαααΈαα½α αααα ααα»ααΆ argv[1] ααΊααΌα ααααΆααααα·ααα ααΉα envp[0]α ααΆααααααΆααααα ααααααααα’αααααα·ααααΆαααααΌα α’αααααΆααααα αΆαα’αΆα αααα½αα’αααααα·ααααΆααααααααααα αααα»α pkexec α§ααΆα ααα αααα½αα’αααααα·ααααΆα "LD_PRELOAD" ααααα·αααααΌαααΆαα’αα»ααααΆααα αααα»ααααααα·ααΈ suid αα·ααααα αα±αααααααΆαααα ααααααααααααα½ααααααα»ααα αααα»α ααααΎαααΆαα
ααΆαααααααααααα ααΆαααΆαααΆαααααααααΉαααΆααααα½αα’ααα GCONV_PATH αααααααΌαααΆαααααΎααΎααααΈαααααααααΌααα ααΆαααααααΆαααααΆαααααααααα·αα·ααααααααΆ ααααααα»ααααααΆααααααα αααα α αα»αααΆα g_printerr() ααΌααααααααΎ iconv_open() α ααΆααααααΆααααααα‘αΎααα·αααΌαααααΌααα αααα»α GCONV_PATH α’αααααΆααααα αΆαα’αΆα ααΆααΆααΆααΆαα·ααααααΆαααααΆααα iconv αααααααΆααααααααΌαααΆααααα»α ααα»αααααααααΆαααααααΆαααααα½αααααααΆ α’ααααααααααΆαααΉαααααΌαααΆαααααα·ααααα·αα ααααααααΆαααα α»αααααΌαααΆααααα αΆααα ααααΆααααΆαααα pkexec αα ααααααΎαααΆαααΆαα½α αα·αααα·ααΆ root αα·ααα»ααααααΆαα’αα»ααααΆαα αΆααααααΎαααααΌαααΆααα·αα·αααα
ααΆααααΌαααΆαααααααααΆααααΆαααααΈααΆαααα αΆααΎαα‘αΎααααααΆαααΆαααΌα ααΆαα’αααα αα αΆαααααα ααΆα’αΆα ααααΌαααΆαααααΎααααΆαααααααΆαααΏααΆαα αα·αααααα αΎααααααααααααα·ααα·αααΈααααΆαααααααααααααααΉααααααΆαααααΎα ααΆαααααααααααα αααααΆααααα αααααΌαααΆαααΆαααααααααααααααα ααΎ Ubuntu, Debian, Fedora αα·α CentOS ααα»ααααααα’αΆα ααααΎαα ααΎααΆαα ααα αΆααααααααααααααα ααΆαααααααααααα ααΎααα·αααΆααααΆαααΆααΆααΆααααα α‘αΎααα ααααααα αΆαααΆααΆααΆααΏαααΌα ααΆα αα·αα’αΆα αααααΎαα‘αΎααα·αααΆααααΆαααΆααααα½ααααα’αααααααΆαααααΆααααααααα ααΌα ααααααΆααΆααΆαααααΆαααααα»αααΆαααα‘αΎαααΆαα’αΆαααααααααα±ααααΆαααΆααααΆααααα’αΆα ααααΎαα ααΆααα ααΎαααααααααα α»α’αααααααΎααααΆααα Polkit ααααΆααααααΆαααααααααα BSD αα·α Solaris ααααα ααα»αααααα·αααααΌαααΆααααα·ααααΆαααααΆααααααΎααααΆααααΎαα½αααΆααα α’αααΈβαααβααααΌαβααΆαβααβααΉαβααΊβααΆβααΆαβααΆαβαααα αΆαβαα·αβα’αΆα βααααΌαβααΆαβααααΎβα‘αΎαβαα βααΎ OpenBSD αααβααΆαβααβααΊααα OpenBSD αα·αβα’αα»ααααΆαβα±ααβααααα null argc ααααΌαβααΆαβααααβααΆααβαα βααα execve() ααααΌαβααΆαβα α α
αααα αΆβαααβααΆαβααΎαβα‘αΎαβααΆααβααΈβααβα§αααΆ ααααΆαβα’α α α© ααΆααβααΈβααΆαβααααααβααΆαααβαααααΆ pkexecα ααΆααα½ααα»αααΆαααΆαααααααααααα PolKit αα αα α»ααααααααΆαααΆαααα (αα·αααΆαααΆαα ααααααΆαααααααααΌαααΆαα ααααααΆααα) ααα»ααααα αΆααααΆααααΈα’αααα’αα·ααααααααΆαα ααα αΆαααααΌαααΆαααΌαααααΉαα’αααΈαααα αΆααΆαα»α ααΆαα ααα αΆαααΆαα αααΎαααΆαα ααααααΆαααΆαααααΎαα αα α»ααααααααΆααααα»ααααααααΆαααααΆααΆαα½αααΉαααΆααααα αΆαααααααΆαα’αααΈααΆαααΆααααααααα αααα αΆααααΌαααΆααα½ααα»ααα αααα»α RHEL 2009/6/7, Debian, Ubuntu, openSUSE, SUSE, Fedora, ALT Linux, ROSA, Gentoo, Void Linux, Arch Linux αα·α Manjaro α ααΆαα·ααΆαααΆαααααααα’αΆααααααΎααααΈαααααααΆααααΆαααΆαααααααα α’αααα’αΆα αααααα«α SUID α ααααΈαααααα·ααΈ /usr/bin/pkexec (βchmod 8 /usr/bin/pkexecβ)α
ααααα: opennet.ru