Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² sudo, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΠΏΡ€ΠΈ использовании спСцифичных ΠΏΡ€Π°Π²ΠΈΠ»

Π’ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π΅ Sudo, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2019-14287), которая позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² настройках sudoers ΠΏΡ€Π°Π²ΠΈΠ», Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² сСкции ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ послС Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова «ALL» слСдуСт явный Π·Π°ΠΏΡ€Π΅Ρ‚ запуска с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root («… (ALL, !root) …»). Π’ конфигурациях ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² дистрибутивах ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π΅ проявляСтся.

ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² sudoers допустимых, Π½ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅Π΄ΠΊΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΡ€Π°Π²ΠΈΠ», Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠ΄ UID-ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ любого ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΡ€ΠΎΠΌΠ΅ root, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ полномочия выполнСния Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ установлСнноС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root. Для ΠΎΠ±Ρ…ΠΎΠ΄Π° ограничСния достаточно ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π² настройках ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ с UID «-1» ΠΈΠ»ΠΈ «4294967295», Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ Π΅Ρ‘ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ с UID 0.

НапримСр, Ссли Π² настройках имССтся ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄Π°ΡŽΡ‰Π΅Π΅ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π°Π²ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ /usr/bin/id ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹ΠΌ UID:

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

ΠΈΠ»ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ bob:

myhost bob = (ALL, !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