Qualys ืืืืชื ืคืืืขืืช (CVE-2021-4034) ืืจืืื ืืืขืจืืช Polkit (ืืฉืขืืจ PolicyKit) ืืืฉืืฉ ืืืคืฆืืช ืืื ืืืคืฉืจ ืืืฉืชืืฉืื ืืกืจื ืืจืฉืืืช ืืืฆืข ืคืขืืืืช ืืืืจืฉืืช ืืืืืืช ืืืฉื ืืืืืจืืช. ืืคืืืขืืช ืืืคืฉืจืช ืืืฉืชืืฉ ืืงืืื ืืกืจ ืืจืฉืืืช ืืืกืืื ืืช ืืืจืฉืืืช ืฉืื ื-root ืืืงืื ืฉืืืื ืืืื ืขื ืืืขืจืืช. ืืืขืื ืงืืืื ืืช ืฉื ืืงืื PwnKit ืืืื ืืืืืช ืืืืฆืืจ ื ืืฆืื ืขืืื ืฉืคืืขื ืืชืฆืืจืช ืืจืืจืช ืืืืื ืืจืื ืืืคืฆืืช ืฉื ืืื ืืงืก.
ืืืขืื ืงืืืืช ืืืื ืืฉืืจืืช pkexec ืฉื PolKit, ืฉืืืืข ืขื ืืื ืืฉืืจืฉ ืฉื SUID ืื ืืขื ืืืจืืฅ ืคืงืืืืช ืขื ืืจืฉืืืช ืฉื ืืฉืชืืฉ ืืืจ ืืืชืื ืืืืื PolKit ืฉืฆืืื ื. ืขืงื ืืืคืื ืฉืืื ืืืจืืืื ืืื ืฉื ืฉืืจืช ืืคืงืืื ืฉืืืขืืจื ื-pkexec, ืืฉืชืืฉ ืืกืจ ืืจืฉืืืช ืืืื ืืขืงืืฃ ืืช ืืืืืืช ืืืืจืืฅ ืืช ืืงืื ืฉืื ื-root, ืืื ืงืฉืจ ืืืืื ืืืืฉื ืฉื ืงืืขื. ืขืืืจ ืืชืงืคื, ืื ืื ืืฉื ื ืืืื ืืืืจืืช ืืืืืืืช ืืฆืืื ืืช ื-PolKit, ืืกืคืืง ืฉืชืืื ืช ืืฉืืจืฉ SUID ืืืืืจืช ืขืืืจ ืงืืืฅ ืืืคืขืื ืขื ืืื ืืฉืืจืืช pkexec.
Pkexec ืืื ื ืืืืง ืืช ืชืงืคืืช ืกืคืืจืช ืืืจืืืื ืืื ืฉื ืฉืืจืช ืืคืงืืื (argc) ืฉืืืขืืจื ืืขืช ืืชืืืช ืชืืืื. ืืืคืชืืื ืฉื pkexec ืื ืืื ืฉืืขืจื ืืจืืฉืื ืืืขืจื argv ืืืื ืชืืื ืืช ืฉื ืืชืืืื (pkexec), ืืืฉื ื ืื ืขืจื NULL ืื ืืช ืฉื ืืคืงืืื ืืืืคืขืืช ืืืืฆืขืืช pkexec. ืืืืืื ืฉืกืคืืจืช ืืืจืืืื ืืื ืื ื ืืืงื ืืื ืืชืืื ืืืืืชื ืฉื ืืืขืจื ืืื ืื ืืื ืฉืืื ืชืืื ืืืืื ื-1, ืื ืชืืืื ืขืืจ ืืขืจื argv ืจืืง, ืืคื ืฉืืืคืฉืจืช ืคืื ืงืฆืืืช Linux execve, pkexec ืืชืืืืก ื-NULL ืืืจืืืื ื ืืจืืฉืื ( ืฉื ืืชืืืื) ืืืื ืืื ืืืืฅ ืืืืืจืื ืืืืืจ, ืืื ืืชืืื ืืื ืฉื ืืืขืจื. |โโโ+โโโ+โโ+โโโโ|โโโ+โโโ+โโ+โโโโ| | argv[0] | argv[1] | ... | argv[argc] | envp[0] | envp[1] | ... | envp[envc] | |โ-|โ-+โ-|โ-+โโ+โโ|โโ|โ-|โ-+โ-|โ-+โโ+โโ|โโ| VVVVVV "ืชืืื ืืช" "-ืืืคืฆืื" NULL "ืขืจื" "PATH=ืฉื" 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 ืขืืืื ืคืืขื ืขื ืืืืืืช ืืฉืืจืฉ ืืืคื ื ืืืฉืงื ื ืืืงืืช.
ืืฆืืื ืื ืืืจืืช ืืขืืืื ืฉืืืขืื ื ืืจืืช ืืชืืฆืื ืืฉืืืชืืช ืืืืจืื, ื ืืชื ืื ืฆื ืืืชื ืืืืคื ืืืื ืืืืืจ ืืื ืงืฉืจ ืืืจืืืืงืืืจืช ืืืืืจื ืฉืื ื ืขืฉื ืฉืืืืฉ. ืื ืืฆืื ืืืืื ื ืืืง ืืืฆืืื ืืืืืื ืื, ืืืืื, ืคืืืจื ื-CentOS, ืื ื ืืชื ืืืฉืชืืฉ ืื ืื ืืืคืฆืืช ืืืจืืช. ืื ืืฆืื ืืืงืืจื ืขืืืื ืื ืืืื ืืฆืืืืจ, ืื ืฉืืฆืืืข ืขื ืื ืฉืืื ืืจืืืืืืื ืื ืืชื ืืฉืืืจ ืืืชื ืืงืืืช ืขื ืืื ืืืงืจืื ืืืจืื, ืืืื ืืฉืื ืืืชืงืื ืืช ืขืืืื ืืชืืงืื ืืืงืื ืืืคืฉืจื ืืืขืจืืืช ืืจืืืืช ืืฉืชืืฉืื. Polkit ืืืื ืื ืขืืืจ ืืขืจืืืช BSD ื- Solaris, ืื ืื ื ืืงืจ ืืฉืืืืฉ ืืื. ืื ืฉืืืืข ืืื ืฉืื ื ืืชื ืืืฆืข ืืช ืืืชืงืคื ื-OpenBSD, ืืืืจ ืืืืื ืฉื OpenBSD ืืื ื ืืืคืฉืจืช ืืืขืืืจ ืขืจื null argc ืืืฉืจ ืงืืจืืื execve() .
ืืืขืื ืงืืืืช ืืื ืืื 2009, ืืื ืืืกืคืช ืืคืงืืื pkexec. ืืชืืงืื ืืคืืืขืืช ืฉื PolKit ืืืื ืืขืช ืืชืืงืื (ืื ืฉืืืจืจื ืืืืืจืช ืชืืงืื), ืื ืืืืืื ืฉืืคืชืื ืืคืฆื ืงืืืื ืืืืขื ืขื ืืืขืื ืืจืืฉ, ืจืื ืืืคืฆืืช ืคืจืกืื ืืช ืืขืืืื ืืืงืืื ืืืฉืืคืช ืืืืืข ืขื ืืคืืืขืืช. ืืืขืื ืชืืงื ื ื-RHEL 6/7/8, Debian, Ubuntu, openSUSE, SUSE, Fedora, ALT Linux, ROSA, Gentoo, Void Linux, Arch Linux ืืื ื'ืจื. ืืืืฆืขื ืืื ื ืืืกืืืช ืืคืืืขืืช, ืืชื ืืืื ืืืกืืจ ืืช ืืื ืืฉืืจืฉ ืฉื SUID ืืืชืืื ืืช /usr/bin/pkexec ("chmod 0755 /usr/bin/pkexec").
ืืงืืจ: OpenNet.ru