needhelp
← Back to blog

ssh-keysign-pwn: خواندن فایل‌های متعلق به روت از طریق یک باگ منطقی ptrace

by xingwangzhe
Linux
Kernel
Security
Qualys
ptrace
CVE

ssh-keysign-pwn: یک باگ منطقی شش ساله در تابع __ptrace_may_access() کرنل، گزارش‌شده توسط Qualys و وصله‌شده توسط Linus Torvalds در ۱۴ می ۲۰۲۶. کاربران بدون دسترسی می‌توانند فایل‌های متعلق به روت را بخوانند.

یکی دیگر

می ۲۰۲۶ با کرنل لینوکس مهربان نبوده. Dirty Frag، Fragnesia و حالا—ssh-keysign-pwn—که توسط Qualys در ۱۴ می افشا شد و توسط Linus Torvalds همان روز رفع شد.

این یکی از خانواده «کپی کردن چیزی در کش صفحه» متفاوت است. یک باگ منطقی خالص در __ptrace_may_access() است.

چطور کار می‌کند

باگ در __ptrace_may_access() زندگی می‌کند. یک مورد خاص وجود دارد: وقتی task->mm == NULL، تابع بررسی dumpable را کاملاً رد می‌کند.

۱. یک فرآیند do_exit() را صدا می‌زند ۲. do_exit() اول exit_mm() را اجرا می‌کند—این توصیف‌گر حافظه را تخریب می‌کند ۳. سپس exit_files() را اجرا می‌کند—اما توصیف‌گرهای فایل هنوز زنده‌اند ۴. با task->mm == NULL اما توصیف‌گرهای فایل هنوز باز، pidfd_getfd(2) می‌تواند آن fdها را بدزدد

جدول زمانی

تاریخ رویداد
~۲۰۲۰ Jann Horn الگوی FD-theft را شناسایی می‌کند (وصله ادغام نشد)
۲۰۲۶-۰۵-۱۴ Qualys گزارش می‌دهد؛ Linus Torvalds وصله را commit می‌کند
۲۰۲۶-۰۵-۱۴ _SiCk بهره‌برداری PoC را روی GitHub منتشر می‌کند

این سومین آسیب‌پذیری بزرگ کرنل لینوکس در می ۲۰۲۶ است. سرعت افشا در حال شتاب است.


References

Share this page