Уязвимост Π² sudo, която позволява Сскалация Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° спСцифични ΠΏΡ€Π°Π²ΠΈΠ»Π°

Π’ ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Sudo, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΎΡ‚ ΠΈΠΌΠ΅Ρ‚ΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ уязвимост (CVE-2019 14287-), ΠΊΠΎΠ΅Ρ‚ΠΎ Π²ΠΈ позволява Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ с root ΠΏΡ€Π°Π²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² настройкитС Π½Π° sudoers, Π² ΠΊΠΎΠΈΡ‚ΠΎ Π² сСкцията Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° потрСбитСлския ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ слСд Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π²Π°Ρ‰Π°Ρ‚Π° ΠΊΠ»ΡŽΡ‡ΠΎΠ²Π° Π΄ΡƒΠΌΠ° β€žALLβ€œ ΠΈΠΌΠ° ΠΈΠ·Ρ€ΠΈΡ‡Π½Π° Π·Π°Π±Ρ€Π°Π½Π° Π·Π° изпълнСниС с root ΠΏΡ€Π°Π²Π° (β€ž... (Π’Π‘Π˜Π§ΠšΠ˜, !root) ..." ). Уязвимостта Π½Π΅ сС появява Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² дистрибуциитС.

Ако sudoers ΠΈΠΌΠ° Π²Π°Π»ΠΈΠ΄Π½ΠΈ, Π½ΠΎ ΠΈΠ·ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π΅Π΄ΠΊΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΠΎΠ΄ UID Π½Π° всСки ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ root, Π°Ρ‚Π°ΠΊΡƒΠ²Π°Ρ‰, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΎ Π΄Π° изпълни Ρ‚Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈ установСното ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π΄Π° изпълни ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° с root ΠΏΡ€Π°Π²Π°. Π—Π° Π΄Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΈΡ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎ, просто ΠΎΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°, посочСна Π² настройкитС с UID β€ž-1β€œ ΠΈΠ»ΠΈ β€ž4294967295β€œ, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ изпълнСниС с UID 0.

НапримСр, Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π² настройкитС, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΄Π°Π²Π° Π½Π° всСки ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΏΡ€Π°Π²ΠΎΡ‚ΠΎ Π΄Π° изпълни ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° /usr/bin/id ΠΏΠΎΠ΄ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ UID:

myhost ALL = (ALL, !root) /usr/bin/id

ΠΈΠ»ΠΈ опция, която позволява изпълнСниС само Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» bob:

myhost bob = (Π’Π‘Π˜Π§ΠšΠ˜, !root) /usr/bin/id

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° изпълни β€žsudo -u '#-1' id” ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° /usr/bin/id Ρ‰Π΅ бъдС стартирана ΠΊΠ°Ρ‚ΠΎ root, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ ΠΈΠ·Ρ€ΠΈΡ‡Π½Π°Ρ‚Π° Π·Π°Π±Ρ€Π°Π½Π° Π² настройкитС. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ ΠΏΡ€Π΅Π½Π΅Π±Ρ€Π΅Π³Π²Π°Π½Π΅ Π½Π° спСциалнитС стойности β€ž-1β€œ ΠΈΠ»ΠΈ β€ž4294967295β€œ, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ водят Π΄ΠΎ промяна Π² UID, Π½ΠΎ Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ самият sudo Π²Π΅Ρ‡Π΅ сС изпълнява ΠΊΠ°Ρ‚ΠΎ root, Π±Π΅Π· промяна Π½Π° UID, Ρ†Π΅Π»Π΅Π²Π°Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡŠΡ‰ΠΎ Π΅ стартира с root ΠΏΡ€Π°Π²Π°.

Π’ SUSE ΠΈ openSUSE дистрибуции, Π±Π΅Π· Π΄Π° сС посочва β€žNOPASSWDβ€œ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΠΎΡ‚ΠΎ, ΠΈΠΌΠ° уязвимост Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Π² sudoers Ρ€Π΅ΠΆΠΈΠΌΡŠΡ‚ β€žDefaults targetpwβ€œ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, ΠΊΠΎΠΉΡ‚ΠΎ провСрява UID спрямо Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ с ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈ Π²ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Π½Π²Π° Π΄Π° Π²ΡŠΠ²Π΅Π΄Π΅Ρ‚Π΅ ΠΏΠ°Ρ€ΠΎΠ»Π°Ρ‚Π° Π½Π° цСлСвия ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π». Π—Π° Ρ‚Π°ΠΊΠΈΠ²Π° систСми Π°Ρ‚Π°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° само Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°:

myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ Π² ΠΈΠ·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Sudo 1.8.28. ΠšΠΎΡ€Π΅ΠΊΡ†ΠΈΡΡ‚Π° Π΅ Π½Π°Π»ΠΈΡ‡Π½Π° ΠΈ във формуляра пластир. Π’ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡ‚ΠΈΡ‚Π΅ Π·Π° разпространСниС уязвимостта Π²Π΅Ρ‡Π΅ Π΅ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½Π° Debian, Arch Linux, SUSE/openSUSE, Ubuntu, Gentoo ΠΈ FreeBSD. Към ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π½Π° писанС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ остава нСотстранСн Π² RHEL ΠΈ Fedora. Уязвимостта Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° ΠΎΡ‚ изслСдоватСли ΠΏΠΎ сигурността ΠΎΡ‚ Apple.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

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