
استغلال لثغرة CVE-2021-3156 (تجاوز سعة المخزن المؤقت المستند إلى الكومة في sudo) يتيح تصعيد الامتيازات المحلية إلى صلاحيات الجذر، مع بيئة اختبار قابلة لإعادة الإنتاج مبنية على QEMU لأنظمة لينكس RISC-V.
sudo: 1.8.31
glibc: 2.31
Linux: 4.18 أو 5.10.167-gee203559bc0b-dirty
للراحة، عند تجميع Linux، لا تستخدم طريقة initramfs، بل استخدم rootfs.img المقدم في هذا المستودع كدليل جذر للإقلاع؛ فهو يتضمن ملفات الإعداد اللازمة لدعم عمل sudo وnss بشكل صحيح، ويُعد توزيعة بسيطة للغاية.
استخدم qemu المقدم من DASICS_QEMU لتشغيل bbl مع rootfs.img كدليل جذر. بالإضافة إلى ذلك، يمكنك أيضًا استخدام OpenSBI لتشغيل linux. مثال على الأمر:
#!/bin/sh
qemu-system-riscv64 -M virt -m 1G \
-cpu rv64 \
-nographic \
-kernel bbl \
-drive file=rootfs.img,format=raw,id=hd0 \
-device virtio-blk-device,drive=hd0 \
-append "console=ttyS0 rw root=/dev/vda" \
-bios none -s
بعد الدخول إلى واجهة أوامر busybox، نفّذ الأوامر التالية:
$ su wanghan
$ cd
$ whoami
$ ./expolit
$ whoami
نظرًا لأن النظام يكون بصلاحيات root فور دخوله إلى واجهة الأوامر بعد الإقلاع، يمكنك في هذه المرحلة استخدام passwd لتغيير كلمة المرور بسهولة.
كما هو واضح، يحقق expolit تصعيد الامتيازات ويمكن تكراره بشكل موثوق.