ユーティリティで
sudoers が、root 以外のユーザーの UID で特定のコマンドの実行を許可する有効なルールを持っている場合、実際には非常にまれですが、このコマンドを実行する権限を持つ攻撃者は、確立された制限を回避してコマンドを実行できます。ルート権。 この制限を回避するには、設定で指定されたコマンドを UID「-1」または「4294967295」で実行してみます。これにより、UID 0 で実行されます。
たとえば、設定に、任意の UID でプログラム /usr/bin/id を実行する権限をすべてのユーザーに与えるルールがある場合、次のようになります。
myhost ALL = (ALL, !root) /usr/bin/id
または、特定のユーザー bob にのみ実行を許可するオプション:
myhost bob = (ALL, !root) /usr/bin/id
設定で明示的に禁止されているにもかかわらず、ユーザーは「sudo -u '#-1' id」を実行でき、/usr/bin/id ユーティリティは root として起動されます。 この問題は、UID の変更につながらない特別な値「-1」または「4294967295」を見落とすことによって発生しますが、sudo 自体はすでに root として実行されているため、UID を変更せずに、ターゲットのコマンドもroot権限で起動しました。
SUSE および openSUSE ディストリビューションでは、ルールで「NOPASSWD」を指定しないと、脆弱性が存在します。
myhost ALL = (ALL, !root) NOPASSWD: /usr/bin/id
リリースで修正された問題
出所: オープンネット.ru