
CVE-2026-43494
رفع الامتيازات المحلية في نواة لينكس عبر RDS + io_uring استبدال ذاكرة التخزين المؤقت للصفحات
PinTheft هي أداة استغلال متطورة لرفع الصلاحيات محليًا لـ CVE-2026-43494، وهو خطأ في تعداد المراجع في نظام RDS (مآخذ البيانات الموثوقة) في نواة لينكس.
من خلال الجمع بين خطأ double-free في مسار النسخ الصفري لـ RDS مع المخازن المؤقتة الثابتة لـ io_uring، يحقق الاستغلال استبدال موثوق لذاكرة التخزين المؤقت للصفحات للثنائيات ذات SUID-root، مما يؤدي إلى رفع الامتيازات المحلية إلى root.
خطأ محاسبي صغير في مسار شبكي غامض يصبح أداة موثوقة لرفع الامتيازات المحلية عند مزجه بميزات io_uring الحديثة.
net/rdsrds_message_zcopy_from_user() → معالجة غير صحيحة لـ op_nentsput_page() بعد فشل iov_iter_get_pages2()درجة CVSS: ~7.8 (عالية)
io_uring REGISTER_BUFFERS (+1024 مرجع FOLL_PIN)sendmsg فاشل متكرر عبر RDS بنسخ صفريmunmap() → تحرير نظيف إلى PCP (LIFO)IORING_OP_READ_FIXED عبر مؤشر struct page* معلقالتجاوزات:
CONFIG_INIT_ON_ALLOC_DEFAULT_ONbad_page() checksCONFIG_RDS و CONFIG_RDS_TCPio_uring (kernel.io_uring_disabled=0)غير معرض للثغرة افتراضيًا في معظم التوزيعات (RDS نادرًا ما يتم تمكينها).
# 1. Clone & Compile
git clone https://github.com/0xBlackash/CVE-2026-43494.git
cd CVE-2026-43494
gcc -O2 -static CVE-2026-43494.c -o pintheft
# 2. Run
sudo ./pintheft
CVE-2026-43494.c — كود الاستغلال الكامل (PinTheft)README.md — هذا المستندbackup/ — نسخ احتياطية تلقائية للثنائيات SUID المستبدلة# Disable RDS
echo "install rds /bin/false" | sudo tee /etc/modprobe.d/disable-rds.conf
echo "install rds_tcp /bin/false" | sudo tee -a /etc/modprobe.d/disable-rds.conf
sudo modprobe -r rds_tcp rds
# Disable io_uring (if unused)
echo "kernel.io_uring_disabled=2" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
قم بتحديث نواة النظام فور توفر التصحيحات.
# Check if vulnerable
modprobe -n rds_tcp && echo "RDS: Vulnerable"
cat /proc/sys/kernel/io_uring_disabled
uname -r
مصنوع بـ ❤️ لمجتمع أبحاث الأمن السيبراني
ابقَ فضوليًا. ابقَ آمنًا.