آسیبپذیری PinTheft در آرچ لینوکس: دسترسی روت از راه exploit
خلاصهٔ کاملتر
تیم امنیتی V12 یه آسیبپذیری جدید در کرنل لینوکس پیدا کرده به اسم PinTheft که به مهاجم محلی اجازه میده دسترسی root (بالاترین سطح دسترسی سیستم) رو روی سیستمهای Arch Linux به دست بیاره. این باگ در ماژول RDS (Reliable Datagram Sockets) کرنل هست و پچش اوایل همین ماه منتشر شد. هنوز CVE ID (شناسه استاندارد برای ردیابی آسیبپذیریها) بهش تخصیص داده نشده.
ریشه مشکل اینه که تابع rds_message_zcopy_from_user() صفحات حافظه کاربر رو یکییکی pin میکنه. اگه در حین این کار یه صفحه fault بده، مسیر خطا صفحاتی که قبلاً pin شدن رو آزاد میکنه — ولی cleanup پیام RDS بعداً دوباره همونها رو آزاد میکنه. این double-free باعث میشه بهازای هر بار تلاش ناموفق zerocopy، یه reference از اولین صفحه دزدیده بشه.
V12 یه اکسپلویت PoC (proof-of-concept) هم منتشر کرده که از این باگ استفاده میکنه: با دزدیدن مکرر FOLL_PIN reference، یه page pointer دزدیدهشده به io_uring (واسط I/O ناهمزمان لینوکس) تحمیل میشه و در نتیجه یه root shell (ترمینال با دسترسی کامل) باز میشه.
البته PinTheft شرایط خاصی برای اجرا داره: ماژول RDS باید روی سیستم لود شده باشه، io_uring فعال باشه، یه باینری SUID-root قابلخواندن وجود داشته باشه، و معماری سیستم x86_64 باشه. این محدودیتها سطح حمله رو کوچیک میکنن. V12 تأیید کرده که از بین توزیعهای رایج لینوکس، فقط Arch Linux این ماژول رو بهصورت پیشفرض فعال داره.
توصیه اصلی اینه که هرچه زودتر آخرین پچهای کرنل نصب بشن. کسایی که نمیتونن فوری پچ کنن، میتونن با دستور زیر ماژول RDS رو غیرفعال کنن تا مسیر حمله بسته بشه:
rmmod rds_tcp rds
printf 'install rds /bin/false\ninstall rds_tcp /bin/false\n' > /etc/modprobe.d/pintheft.confاین دستور ماژول رو از کرنل خارج میکنه و جلوی لود شدن مجدد اون رو میگیره.
PinTheft بخشی از یه موج گستردهتر از آسیبپذیریهای LPE (Local Privilege Escalation) در لینوکسه. در همین چند هفته اخیر، باگهایی مثل DirtyDecrypt، DirtyCBC، Dirty Frag، Fragnesia و Copy Fail هم فاش شدن. آژانس CISA آمریکا هم Copy Fail رو به لیست آسیبپذیریهای فعالاً مورد سوءاستفاده اضافه کرده و به نهادهای دولتی دستور داده ظرف دو هفته سیستمهاشون رو ایمن کنن.
نکات کلیدی:
- PinTheft یه باگ double-free در ماژول RDS کرنل لینوکسه که منجر به دسترسی root میشه
- از توزیعهای رایج، فقط Arch Linux این ماژول رو پیشفرض فعال داره
- پچ کرنل منتشر شده؛ نصب فوری توصیه میشه
- راهحل موقت: غیرفعال کردن ماژول RDS با دستور rmmod
- این باگ بخشی از یه سری آسیبپذیریهای LPE هست که اخیراً در لینوکس کشف شدن




