PolKit рдордзреАрд▓ рдЧрдВрднреАрд░ рдЕрд╕реБрд░рдХреНрд╖рд╛ рдмрд╣реБрддреЗрдХ Linux рд╡рд┐рддрд░рдгрд╛рдВрд╡рд░ рд░реВрдЯ рдкреНрд░рд╡реЗрд╢рд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ

Qualys рдиреЗ рдкреЛрд▓рдХрд┐рдЯ (рдкреВрд░реНрд╡реАрдЪреЗ рдкреЙрд▓рд┐рд╕реАрдХрд┐рдЯ) рд╕рд┐рд╕реНрдЯреАрдо рдШрдЯрдХрд╛рдордзреНрдпреЗ рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ (CVE-2021-4034) рдУрд│рдЦрд▓реА рдЖрд╣реЗ рдЬреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдирд╛ рдЙрдиреНрдирдд рдкреНрд░рд╡реЗрд╢ рдЕрдзрд┐рдХрд╛рд░рд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдгреНрдпрд╛рдд рдЖрд▓реЗ рд╣реЛрддреЗ. рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рдПрдЦрд╛рджреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╕рд▓реЗрд▓реНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд▓рд╛ рддреНрдпрд╛рдВрдЪреЗ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд░реВрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. рд╕рдорд╕реНрдпреЗрдЪреЗ рдХреЛрдбрдиреЗрдо PwnKit рд╣реЛрддреЗ рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ Linux рд╡рд┐рддрд░рдгрд╛рдВрд╡рд░ рдбреАрдлреЙрд▓реНрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдордзреНрдпреЗ рдЪрд╛рд▓рдгрд╛рд░реЗ рдХрд╛рд░реНрдпрд░рдд рд╢реЛрд╖рдг рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓рдХреНрд╖рдгреАрдп рдЖрд╣реЗ.

рд╕рдорд╕реНрдпрд╛ PolKit рдЪреНрдпрд╛ pkexec рдпреБрдЯрд┐рд▓рд┐рдЯреАрдордзреНрдпреЗ рдЖрд╣реЗ, рдЬреА SUID рд░реВрдЯ рдлреНрд▓реЕрдЧрд╕рд╣ рдпреЗрддреЗ рдЖрдгрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ PolKit рдирд┐рдпрдорд╛рдВрдиреБрд╕рд╛рд░ рджреБрд╕рд░реНтАНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░рд╛рдВрд╕рд╣ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗрд▓реА рдЖрд╣реЗ. pkexec рд▓рд╛ рдкрд╛рд╕ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯреНрд╕рдЪреНрдпрд╛ рдЪреБрдХреАрдЪреНрдпрд╛ рд╣рд╛рддрд╛рд│рдгреАрдореБрд│реЗ, рдПрдХ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдирд╕рд▓реЗрд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд╛рд╕ рдмрд╛рдпрдкрд╛рд╕ рдХрд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рдкреНрд░рд╡реЗрд╢ рдирд┐рдпрдо рд╕реЗрдЯ рдХреЗрд▓реЗ рдЕрд╕рд▓реЗ рддрд░реАрд╣реА рддреНрдпрд╛рдВрдЪрд╛ рдХреЛрдб рд░реВрдЯ рдореНрд╣рдгреВрди рдЪрд╛рд▓рд╡реВ рд╢рдХрддреЛ. рдЖрдХреНрд░рдордгрд╛рд╕рд╛рдареА, PolKit рдордзреНрдпреЗ рдХреЛрдгрддреА рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрдгрд┐ рдирд┐рд░реНрдмрдВрдз рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд рд╣реЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдирд╛рд╣реА, pkexec рдпреБрдЯрд┐рд▓рд┐рдЯреАрд╕рд╣ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓рд╕рд╛рдареА SUID рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реЗрдЯ рдХрд░рдгреЗ рдкреБрд░реЗрд╕реЗ рдЖрд╣реЗ.

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 "рдкреНрд░реЛрдЧреНрд░рд╛рдо" "-option" 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 рдЕрдЬреВрдирд╣реА рдЪрд╛рд▓реВ рдЕрд╕рддрд╛рдирд╛ рд╕реНрдЯреЗрдЬрд╡рд░ рдПрд░рд░ рдореЗрд╕реЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рд╣рдБрдбрд▓рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. рд░реВрдЯ рдЕрдзрд┐рдХрд╛рд░ рдЖрдгрд┐ рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рдкреВрд░реНрд╡реА рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рддрдкрд╛рд╕рд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд.

рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрддрд▓реЗ рдЬрд╛рддреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдореЗрдорд░реА рджреВрд╖рд┐рдд рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ рдЙрджреНрднрд╡рд▓реА рдЕрд╕реВрдирд╣реА, рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛ рддреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрдкрдгреЗ рдЖрдгрд┐ рд╡рд╛рд░рдВрд╡рд╛рд░ рд╢реЛрд╖рдг рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╢реЛрд╖рдгрд╛рдЪреА рдЙрдмрдВрдЯреВ, рдбреЗрдмрд┐рдпрди, рдлреЗрдбреЛрд░рд╛ рдЖрдгрд┐ CentOS рд╡рд░ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдЪрд╛рдЪрдгреА рдХреЗрд▓реА рдЧреЗрд▓реА рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЗрддрд░ рд╡рд┐рддрд░рдгрд╛рдВрд╡рд░ рджреЗрдЦреАрд▓ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдК рд╢рдХрддреЗ. рдореВрд│ рд╢реЛрд╖рдг рдЕрджреНрдпрд╛рдк рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХрд░рд┐рддреНрдпрд╛ рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реА, рд╣реЗ рджрд░реНрд╢рд╡рд┐рддреЗ рдХреА рддреЗ рдХреНрд╖реБрд▓реНрд▓рдХ рдЖрд╣реЗ рдЖрдгрд┐ рдЗрддрд░ рд╕рдВрд╢реЛрдзрдХрд╛рдВрджреНрд╡рд╛рд░реЗ рд╕рд╣рдЬрдкрдгреЗ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдореНрд╣рдгреВрди рдмрд╣реБ-рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рд╢рдХреНрдп рддрд┐рддрдХреНрдпрд╛ рд▓рд╡рдХрд░ рдкреЕрдЪ рдЕрджреНрдпрддрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдорд╣рддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ. рдкреЛрд▓рдХрд┐рдЯ рдмреАрдПрд╕рдбреА рдкреНрд░рдгрд╛рд▓реА рдЖрдгрд┐ рд╕реЛрд▓рд╛рд░рд┐рд╕рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдЕрднреНрдпрд╛рд╕ рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рдирд╛рд╣реА. рдХрд╛рдп рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рд╣рд▓реНрд▓рд╛ OpenBSD рд╡рд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА, рдХрд╛рд░рдг OpenBSD рдХрд░реНрдирд▓ execve() рдХреЙрд▓ рдХреЗрд▓реНрдпрд╛рд╡рд░ null argc рд╡реНрд╣реЕрд▓реНрдпреВ рдкрд╛рд╕ рдХрд░реВ рджреЗрдд рдирд╛рд╣реА.

pkexec рдХрдорд╛рдВрдб рдЬреЛрдбрд▓реНрдпрд╛рдкрд╛рд╕реВрди рд╣реА рд╕рдорд╕реНрдпрд╛ рдореЗ 2009 рдкрд╛рд╕реВрди рдЙрдкрд╕реНрдерд┐рдд рдЖрд╣реЗ. 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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛