Уязвимост Π² Polkit, която Π²ΠΈ позволява Π΄Π° СскалиратС Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² систСмата

Π‘Π΅ΡˆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° уязвимост (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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€