เจชเฉ‹เจฒเจ•เจฟเจŸ เจตเจฟเฉฑเจš เจ—เฉฐเจญเฉ€เจฐ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจฐเฉ‚เจŸ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆ

เจ•เฉเจ†เจฒเจฟเจธ เจจเฉ‡ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจ—เจ เจชเฉ‹เจฒเจ•เจฟเจŸ (เจชเจนเจฟเจฒเจพเจ‚ เจชเจพเจฒเจฟเจธเฉ€เจ•เจฟเฉฑเจŸ) เจธเจฟเจธเจŸเจฎ เจ•เฉฐเจชเฉ‹เจจเฉˆเจ‚เจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ (CVE-2021-4034) เจฆเฉ€ เจชเจ›เจพเจฃ เจ•เฉ€เจคเฉ€ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ—เฉˆเจฐ-เจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจน เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจœเจพ เจธเจ•เฉ‡ เจœเจฟเจจเฉเจนเจพเจ‚ เจฒเจˆ เจ‰เฉฑเจšเฉ‡ เจชเจนเฉเฉฐเจš เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจ…เจงเจฟเจ•เจพเจฐเจค เจธเจฅเจพเจจเจ• เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ‚เจŸ เจ•เจฐเจจ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเจพ เจชเฉ‚เจฐเจพ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจ•เฉ‹เจกเจจเฉ‡เจฎ PwnKit เจธเฉ€ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจธเจผเฉ‹เจธเจผเจฃ เจชเฉˆเจฆเจพ เจ•เจฐเจจ เจฒเจˆ เจชเฉเจฐเจธเจฟเฉฑเจง เจนเฉˆ เจœเฉ‹ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจกเจฟเจซเฉŒเจฒเจŸ เจธเฉฐเจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเจพ เจนเฉˆเฅค

เจธเจฎเฉฑเจธเจฟเจ† PolKit เจฆเฉ€ pkexec เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ SUID เจฐเฉ‚เจŸ เจซเจฒเฉˆเจ— เจฆเฉ‡ เจจเจพเจฒ เจ†เจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ–เจพเจธ PolKit เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจจเจพเจฒ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆเฅค pkexec เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เฉ€เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจฒเจพเจˆเจจ เจ†เจฐเจ—เฉ‚เจฎเฉˆเจ‚เจŸเจพเจ‚ เจฆเฉ‡ เจ—เจฒเจค เจชเฉเจฐเจฌเฉฐเจงเจจ เจฆเฉ‡ เจ•เจพเจฐเจจ, เจ‡เฉฑเจ• เจ—เฉˆเจฐ-เจ…เจงเจฟเจ•เจพเจฐเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจจเฉ‚เฉฐ เจฌเจพเจˆเจชเจพเจธ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจฐเฉ‚เจŸ เจฆเฉ‡ เจคเฉŒเจฐ เจคเฉ‡ เจšเจฒเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจนเฉเฉฐเจš เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚เฅค เจนเจฎเจฒเฉ‡ เจฒเจˆ, เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจซเจฐเจ• เจจเจนเฉ€เจ‚ เจชเฉˆเจ‚เจฆเจพ เจ•เจฟ 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โ€ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจธเจ•เจฆเจพ เจนเฉˆ, เจœเจฟเจธเจฆเฉ€ เจธเฉเจ‡เจก เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจธเจพเจ‚เจเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจตเจฟเฉฑเจš เจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจง เจ•เจฐเฉ‹เฅค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†

เจ•เจพเจฐเจœเจธเจผเฉ€เจฒ เจธเจผเฉ‹เจธเจผเจฃ เจตเจฟเฉฑเจš GCONV_PATH เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ เจชเฉเจฐเจคเฉ€เจ• เจŸเฉเจฐเจพเจ‚เจธเจ•เฉ‹เจกเจฟเฉฐเจ— เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจฆเฉ‡ เจฎเจพเจฐเจ— เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, g_printerr() เจซเฉฐเจ•เจธเจผเจจ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉ‹เจก เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจธเจฆเจพ เจ•เฉ‹เจก iconv_open() เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค GCONV_PATH เจตเจฟเฉฑเจš เจฎเจพเจฐเจ— เจจเฉ‚เฉฐ เจฎเฉเฉœ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจ•เฉ‡, เจ‡เฉฑเจ• เจนเจฎเจฒเจพเจตเจฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจธเจŸเฉˆเจ‚เจกเจฐเจก เจ†เจˆเจ•เจจเจต เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ เจœเฉ‹ เจฒเฉ‹เจก เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ, เจชเจฐ เจ‡เจธเจฆเฉ€ เจ†เจชเจฃเฉ€ เจฒเจพเจ‡เจฌเฉเจฐเฉ‡เจฐเฉ€ เจนเฉˆ, เจœเจฟเจธ เจคเฉ‹เจ‚ เจนเฉˆเจ‚เจกเจฒเจฐ เจšเจฒเจพเจ เจœเจพเจฃเจ—เฉ‡ เจœเจฆเฉ‹เจ‚ เจชเฉœเจพเจ… 'เจคเฉ‡ เจ‡เฉฑเจ• เจ—เจฒเจคเฉ€ เจธเฉเจจเฉ‡เจนเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ pkexec เจ…เจœเฉ‡ เจตเฉ€ เจšเฉฑเจฒ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจฐเฉ‚เจŸ เจ…เจงเจฟเจ•เจพเจฐ เจ…เจคเฉ‡ เจฒเจพเจ‚เจš เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚.

เจ‡เจน เจจเฉ‹เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจ‡เจธ เจคเฉฑเจฅ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ† เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจฐเจพเจฌ เจนเฉ‹เจฃ เจ•เจพเจฐเจจ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจนเจพเจฐเจกเจตเฉ‡เจ…เจฐ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจญเจฐเฉ‹เจธเฉ‡เจฏเฉ‹เจ— เจ…เจคเฉ‡ เจตเจพเจฐ-เจตเจพเจฐ เจธเจผเฉ‹เจธเจผเจฃ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจธเจผเฉ‹เจธเจผเจฃ เจจเฉ‚เฉฐ เจ‰เจฌเฉฐเจŸเฉ‚, เจกเฉ‡เจฌเฉ€เจ…เจจ, เจซเฉ‡เจกเฉ‹เจฐเจพ เจ…เจคเฉ‡ CentOS 'เจคเฉ‡ เจธเจซเจฒเจคเจพเจชเฉ‚เจฐเจตเจ• เจŸเฉˆเจธเจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจชเจฐ เจ‡เจธ เจจเฉ‚เฉฐ เจนเฉ‹เจฐ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจตเฉ€ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ…เจธเจฒเฉ€ เจธเจผเฉ‹เจธเจผเจฃ เจ…เจœเฉ‡ เจœเจจเจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡ เจ‰เจชเจฒเจฌเจง เจจเจนเฉ€เจ‚ เจนเฉˆ, เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจฎเจพเจฎเฉ‚เจฒเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ‡ เจ–เฉ‹เจœเจ•เจฐเจคเจพเจตเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจธ เจฒเจˆ เจฎเจฒเจŸเฉ€-เจฏเฉ‚เจœเจผเจฐ เจธเจฟเจธเจŸเจฎเจพเจ‚ 'เจคเฉ‡ เจœเจฟเฉฐเจจเฉ€ เจœเจฒเจฆเฉ€ เจนเฉ‹ เจธเจ•เฉ‡ เจชเฉˆเจš เจ…เจชเจกเฉ‡เจŸ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจเจพ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆเฅค เจชเฉ‹เจฒเจ•เจฟเจŸ BSD เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจธเฉ‹เจฒเจพเจฐเจฟเจธ เจฒเจˆ เจตเฉ€ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจชเจฐ เจ‰เจนเจจเจพเจ‚ 'เจคเฉ‡ เจตเจฐเจคเฉ‹เจ‚ เจฒเจˆ เจ…เจงเจฟเจเจจ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ•เฉ€ เจœเจพเจฃเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ“เจชเจจเจฌเฉ€เจเจธเจกเฉ€ เจ‰เฉฑเจคเฉ‡ เจนเจฎเจฒเจพ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ“เจชเจจเจฌเฉ€เจเจธเจกเฉ€ เจ•เจฐเจจเจฒ เจ‡เฉฑเจ• null argc เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจจเจนเฉ€เจ‚ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ execve() เจจเฉ‚เฉฐ เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจธเจฎเฉฑเจธเจฟเจ† เจฎเจˆ 2009 เจคเฉ‹เจ‚, pkexec เจ•เจฎเจพเจ‚เจก เจฆเฉ‡ เจœเฉ‹เฉœเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆเฅค PolKit เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฒเจˆ เจซเจฟเจ•เจธ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉˆเจš เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‰เจชเจฒเจฌเจง เจนเฉˆ (เจ•เฉ‹เจˆ เจชเฉˆเจš เจฐเฉ€เจฒเฉ€เจœเจผ เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ), เจชเจฐ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจกเจฟเจตเฉˆเจฒเจชเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฎเฉฑเจธเจฟเจ† เจฌเจพเจฐเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจธเฉ‚เจšเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจจเฉ‡ เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจ–เฉเจฒเจพเจธเฉ‡ เจฆเฉ‡ เจจเจพเจฒ เจ…เจชเจกเฉ‡เจŸ เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพเฅค RHEL 6/7/8, Debian, Ubuntu, openSUSE, SUSE, Fedora, ALT Linux, ROSA, Gentoo, Void Linux, Arch Linux เจ…เจคเฉ‡ Manjaro เจตเจฟเฉฑเจš เจฎเฉเฉฑเจฆเจพ เจนเฉฑเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจ•เจฎเจœเจผเฉ‹เจฐเฉ€ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจ‰เจชเจพเจ… เจตเจœเฉ‹เจ‚, เจคเฉเจธเฉ€เจ‚ /usr/bin/pkexec เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎ (โ€œchmod 0755 /usr/bin/pkexecโ€) เจคเฉ‹เจ‚ SUID เจฐเฉ‚เจŸ เจซเจฒเฉˆเจ— เจจเฉ‚เฉฐ เจนเจŸเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค



เจธเจฐเฉ‹เจค: opennet.ru

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹