ΠΠ΅ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π° ΡΡΠ·Π²ΠΈΠΌΠΎΡΡ (CVE-2021-3560) Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Polkit, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ Π½Π° Π½Π΅ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½ΠΈ ΠΏΡΠ°Π²Π° Π·Π° Π΄ΠΎΡΡΡΠΏ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ½ΡΠΈΡΠ°Π½Π΅ Π½Π° USB ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π΄Π° ΡΠΏΠ΅ΡΠ΅Π»Π΅ΡΠ΅ root ΠΏΡΠ°Π²Π° Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠ° Π΅ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π° Π²ΡΠ² Π²Π΅ΡΡΠΈΡ 0.119 Π½Π° Polkit.
ΠΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° ΠΎΡ Π²Π΅ΡΡΠΈΡ 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