Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ Polkit, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΌ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΡΡΠ΅Π±ΡΡΡΠΈΡ ΠΏΠΎΠ²ΡΡΠ΅Π½Π½ΡΡ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ USB-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Ρ), Π²ΡΡΠ²Π»Π΅Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡ (CVE-2021-3560), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠ°Π²Π° root Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½Π° Π² Π²Π΅ΡΡΠΈΠΈ Polkit 0.119.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²ΡΠΏΡΡΠΊΠ° 0.113, Π½ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ RHEL, Ubuntu, Debian ΠΈ SUSE, Π±ΡΠΊΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΡΡΠ·Π²ΠΈΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΡ Π²ΡΠΏΡΡΠΊΠΎΠ² Polkit (ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°Ρ ).
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ polkit_system_bus_name_get_creds_sync(), ΠΏΠΎΠ»ΡΡΠ°ΡΡΠ΅ΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ (uid ΠΈ pid) ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠΡΠΎΡΠ΅ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅ΡΡΡ Polkit ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Π² DBus, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ. ΠΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡ ΠΎΡΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡ dbus-daemon ΠΏΠ΅ΡΠ΅Π΄ ΡΠ°ΠΌΡΠΌ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° polkit_system_bus_name_get_creds_sync, ΡΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡ Π²ΡΠ·Π²Π°Π½Π° ΡΠ΅ΠΌ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΡΠ½Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ Π½Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ polkit_system_bus_name_get_creds_sync() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ TRUE Π²ΠΌΠ΅ΡΡΠΎ FALSE, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π΅ ΡΠΌΠΎΠ³Π»Π° ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ Ρ uid/pid ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. ΠΠΎΠ΄, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ»Π° Π²ΡΠ·Π²Π°Π½Π° ΡΡΠ½ΠΊΡΠΈΡ polkit_system_bus_name_get_creds_sync(), ΡΡΠΈΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈ Π·Π°ΠΏΡΠΎΡ Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΠΎΡΡΡΠΏΠΈΠ» ΠΎΡ root, Π° Π½Π΅ ΠΎΡ Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru