خانه » آسیب‌پذیری Bad Epoll دسترسی روت را برای کاربران عادی لینوکس و اندروید فراهم می‌کند

آسیب‌پذیری Bad Epoll دسترسی روت را برای کاربران عادی لینوکس و اندروید فراهم می‌کند

توسط Vulnerbyte_News
17 بازدید

آسیب‌پذیری Bad Epoll با شناسه CVE-2026-46242 در کرنل لینوکس (Linux Kernel) شناسایی شده است که به کاربران لوکال بدون هرگونه سطح دسترسی ویژه اجازه می‌دهد با سوءاستفاده از این ضعف سطح دسترسی خود را تا Root افزایش داده و کنترل کامل سیستم را به دست آورند. این ضعف امنیتی طیف گسترده‌ای از سامانه‌های مبتنی بر لینوکس، از جمله سیستم‌های دسکتاپ، سرورها و دستگاه‌های اندرویدی را تحت تأثیر قرار می‌دهد و پچ امنیتی  مربوط به آن نیز منتشر شده است.

بررسی‌های فنی نشان می‌دهد که آسیب‌پذیری Bad Epoll در همان بخش محدودی از کد کرنل لینوکس قرار دارد که پیش‌تر مدل هوش مصنوعی Mythos متعلق به شرکت آنتروپیک (Anthropic) یک آسیب‌پذیری دیگر را در آن شناسایی کرده بود. با وجود توانایی Mythos در شناسایی آسیب‌پذیری‌های پیچیده، این مدل هوش مصنوعی موفق به شناسایی Bad Epoll نشد. در نهایت، یک پژوهشگر امنیتی با نام Jaeyoung Chung، این آسیب‌پذیری را شناسایی کرد و با توسعه یک اکسپلویت عملی امکان سوءاستفاده از آن را نشان داد.

نحوه عملکرد آسیب‌پذیری Bad Epoll

Epoll یکی از قابلیت‌های استاندارد در کرنل لینوکس است که به برنامه‌ها اجازه می‌دهد به‌صورت هم‌زمان تعداد زیادی فایل، سوکت یا اتصال شبکه را مانیتور کنند. بسیاری از سرورها، سرویس‌های شبکه و مرورگرهای وب برای مدیریت ارتباطات خود به این قابلیت وابسته هستند و امکان غیرفعال‌سازی ساده آن وجود ندارد.

آسیب‌پذیری Bad Epoll از نوع استفاده پس از آزادسازی حافظه (Use-After-Free) است. در این نوع آسیب‌پذیری، دو بخش از کرنل به‌صورت هم‌زمان تلاش می‌کنند یک آبجکت داخلی (Internal Object) مشترک را مدیریت یا پاک‌سازی کنند. در حالی که یکی از بخش‌ها حافظه اختصاص‌یافته به این آبجکت را آزاد می‌کند، بخش دیگر همچنان به نوشتن داده روی همان ناحیه حافظه ادامه می‌دهد. این وضعیت باعث خرابی حافظه کرنل (Memory Corruption) شده و به مهاجم اجازه می‌دهد سطح دسترسی یک کاربر عادی را تا Root افزایش دهد.

یکی از چالش‌های اصلی این آسیب‌پذیری، وابستگی آن به زمان‌بندی دقیق اجرای کدها است. بازه‌ای که در آن دو مسیر اجرایی کرنل با یکدیگر تداخل پیدا می‌کنند، تنها حدود شش دستور پردازشی طول دارد؛ به همین دلیل، تلاش‌های تصادفی برای سوءاستفاده از این ضعف تقریباً همیشه با شکست مواجه می‌شوند. با این حال، اکسپلویت توسعه‌یافته توسط Jaeyoung Chung توانسته است این پنجره زمانی محدود را گسترش دهد و با انجام تلاش‌های مکرر بدون ایجاد کرش، در آزمایش‌های انجام‌شده در حدود 99 درصد موارد سطح دسترسی Root را به دست آورد.

چرا این ضعف تهدیدی جدی محسوب می‌شود؟

دو ویژگی آسیب‌پذیری Bad Epoll را به تهدیدی جدی‌تر نسبت به بسیاری از ضعف‌های مشابه در کرنل لینوکس تبدیل می‌کند. نخست اینکه به گفته Jaeyoung Chung، امکان سوءاستفاده از این آسیب‌پذیری از داخل محیط سندباکس پردازشگر صفحات کروم (Chrome Renderer Sandbox) نیز وجود دارد؛ محیطی که معمولاً مانع از سوءاستفاده از بسیاری از آسیب‌پذیری‌های کرنل می‌شود.

دوم اینکه این ضعف، برخلاف بسیاری از آسیب‌پذیری‌های افزایش سطح دسترسی (Privilege Escalation)، دستگاه‌های اندرویدی را نیز در معرض ریسک قرار می‌دهد.

Jaeyoung Chung پس از ثبت این آسیب‌پذیری به‌عنوان یک مورد روز صفر (Zero-Day) در برنامه kernelCTF گوگل، جزئیات فنی و روش اکسپلویت آن را در قالب یک گزارش عمومی (Public Writeup) منتشر کرد. با این حال، تاکنون هیچ شواهدی مبنی بر سوءاستفاده از این آسیب‌پذیری در حملات واقعی مشاهده نشده است. همچنین تا زمان انتشار این گزارش، این آسیب‌پذیری در فهرست KEV سازمان CISA قرار نگرفته است. در حال حاضر، تنها نمونه موجود از این حمله، کد اثبات مفهوم (PoC) توسعه‌یافته در چارچوب برنامه kernelCTF است و نسخه ویژه اندروید این اکسپلویت نیز همچنان در دست توسعه قرار دارد.

ریشه آسیب‌پذیری

بررسی‌های فنی نشان می‌دهد هر دو آسیب‌پذیری، نتیجه یک تغییر کد در بخش epoll کرنل لینوکس هستند که در سال 2023 اعمال شده بود.

به گفته Jaeyoung Chung، نخستین آسیب‌پذیری ناشی از این تغییر در کد توسط مدل هوش مصنوعی Mythos شناسایی شد. این ضعف که با شناسه CVE-2026-43074 ردیابی می‌شود، در اوایل سال 2026 با انتشار یک پچ امنیتی برطرف شد.

همچنین آنتروپیک اعلام کرده بود که Mythos موفق به شناسایی چندین آسیب‌پذیری افزایش سطح دسترسی در کرنل لینوکس شده است، اما این شرکت تاکنون ارتباط این تحقیقات با آسیب‌پذیری Bad Epoll را به‌صورت عمومی تأیید نکرده است. با این حال، موفقیت Mythos در شناسایی نخستین ضعف ناشی از این تغییر در کد، دستاورد قابل‌توجهی بود؛ زیرا آسیب‌پذیری‌های مبتنی بر شرایط رقابتی (Race Condition) به‌دلیل پیچیدگی بالا، معمولاً به‌سختی شناسایی می‌شوند.

آسیب‌پذیری Bad Epoll

چرا Mythos نتوانست این ‌آسیب‌پذیری را شناسایی کند؟

به گفته Jaeyoung Chung، هنوز نمی‌توان با اطمینان توضیح داد که چرا Mythos موفق به شناسایی آسیب‌پذیری Bad Epoll نشد، اما به اعتقاد او دو عامل می‌تواند در این موضوع نقش داشته باشد:

  • نخست اینکه پنجره زمانی (Timing Window) وقوع این شرایط رقابتی بسیار محدود است؛ به‌طوری‌که حتی با بررسی دقیق کد نیز درک توالی دقیق رخدادها و نحوه تداخل آن‌ها کار ساده‌ای نیست.
  • دوم اینکه این ضعف هنگام اجرای برنامه نشانه‌های بسیار کمی از خود بر جای می‌گذارد. به گفته Chung، پس از اعمال پچ امنیتی برای آسیب‌پذیری CVE-2026-43074، خطای حافظه مرتبط با Bad Epoll معمولاً از دید ابزار KASAN پنهان می‌ماند؛ موضوعی که تشخیص این ضعف را دشوارتر می‌کند.

اقدامات امنیتی و نسخه‌های تحت تأثیر

از آنجا که قابلیت Epoll را نمی‌توان غیرفعال کرد، هیچ راهکار موقتی (Workaround) برای جلوگیری از سوءاستفاده از آسیب‌پذیری Bad Epoll وجود ندارد. به همین دلیل، مدیران سیستم باید کامیت اصلی (Upstream Commit) با شناسه a6dc643c6931 را اعمال کرده یا پس از انتشار، نسخه بک‌پورت(backport)  ارائه‌شده توسط توزیع لینوکسی خود را نصب کنند.

تمام کرنل‌های لینوکس مبتنی بر نسخه 6.4 و نسخه‌های جدیدتر، در صورتی که پچ امنیتی را دریافت نکرده باشند، در معرض این آسیب‌پذیری قرار دارند.

در مقابل، کرنل‌های مبتنی بر نسخه 6.1، از جمله برخی گوشی‌های اندرویدی مانند Pixel 8، تحت تأثیر این ضعف قرار نمی‌گیرند؛ زیرا تغییر کدی که این آسیب‌پذیری را ایجاد کرده، از نسخه 6.4 به کرنل لینوکس اضافه شده است.

روند نگران‌کننده آسیب‌پذیری‌های کرنل لینوکس

آسیب‌پذیری Bad Epoll در کنار مجموعه‌ای از آسیب‌پذیری‌های شناخته‌شده کرنل لینوکس قرار می‌گیرد که پیش‌تر برای دستیابی به دسترسی Root در دستگاه‌های اندرویدی مورد سوءاستفاده قرار گرفته‌اند. از جمله این موارد می‌توان به Bad Binder، Bad IO_uring و Bad Spin اشاره کرد.

افشای این ضعف هم‌زمان با موجی از آسیب‌پذیری‌های افزایش سطح دسترسی در کرنل لینوکس صورت گرفته است؛ هرچند سازوکار سوءاستفاده از بیشتر این آسیب‌پذیری‌ها با یکدیگر تفاوت دارد. برای نمونه، آسیب‌پذیری Copy Fail با شناسه CVE-2026-31431 که در ماه آوریل افشا شد، اکنون در فهرست KEV سازمان CISA قرار دارد. پس از آن نیز آسیب‌پذیری‌های Dirty Frag، Fragnesia، DirtyClone و pedit COW افشا شدند.

تفاوت آسیب‌پذیری Bad Epoll با سایر آسیب‌پذیری‌های اخیر

آسیب‌پذیری‌هایی مانند Copy Fail و چندین ضعفی که پس از آن افشا شدند، از یک روش متفاوت برای سوءاستفاده استفاده می‌کنند. این آسیب‌پذیری‌ها از نوع نوشتن قابل پیش‌بینی در کش صفحه (Deterministic Page-Cache Write) هستند؛ همان رویکردی که پیش‌تر در آسیب‌پذیری Dirty Pipe نیز مشاهده شده بود.

ویژگی مهم این دسته از آسیب‌پذیری‌ها آن است که مهاجم برای اجرای موفق اکسپلویت، نیازی به سوءاستفاده از شرایط رقابتی ندارد. در نتیجه، اکسپلویت آن‌ها معمولاً با اطمینان و پایداری بیشتری اجرا می‌شود.

در مقابل، آسیب‌پذیری Bad Epoll از نوع آسیب‌پذیری‌های مبتنی بر شرایط رقابتی است؛ یعنی موفقیت اکسپلویت به این بستگی دارد که مهاجم بتواند عملیات خود را دقیقاً در همان بازه زمانی بسیار کوتاهی اجرا کند که دو مسیر پردازشی کرنل با یکدیگر تداخل پیدا می‌کنند. به همین دلیل، سوءاستفاده از این آسیب‌پذیری به‌مراتب دشوارتر است و از این نظر شباهت زیادی به آسیب‌پذیری Dirty COW دارد که در سال 2016 افشا شد.

در همین راستا، PoC مربوط به آسیب‌پذیری CVE-2026-31694 نیز به‌صورت عمومی منتشر شده است. این ضعف که توسط شرکت تحقیقاتی Bynario شناسایی شده، در کد سیستم‌فایل (Filesystem) FUSE کرنل لینوکس قرار دارد.

در این سناریو، یک کاربر لوکال که به FUSE دسترسی دارد، می‌تواند کرنل را وادار به پردازش یک سیستم‌فایل مخرب کند. این اقدام در نهایت منجر به خرابی حافظه (Memory Corruption) می‌شود و بسته به نحوه پیکربندی سیستم، می‌تواند زمینه دستیابی مهاجم به دسترسی Root، افشای اطلاعات یا کرش سیستم را فراهم کند.

از آنجا که قابلیت FUSE در کانتینرها و فضاهای نام کاربری (User Namespaces) کاربرد گسترده‌ای دارد، این آسیب‌پذیری بیش از آنکه دستگاه‌های اندرویدی یا سایر تجهیزات همراه را هدف قرار دهد، تهدیدی جدی برای سرورها و محیط‌های مبتنی بر کانتینر محسوب می‌شود.

محدودیت‌های هوش مصنوعی در شناسایی آسیب‌پذیری‌ها

شرکت Bynario تنها مجموعه‌ای نیست که از هوش مصنوعی برای شناسایی آسیب‌پذیری‌های امنیتی بهره می‌برد. مدل Mythos نیز پیش‌تر یک آسیب‌پذیری اجرای کد از راه دور (RCE) که به مدت 17 سال در سرور NFS سیستم‌عامل FreeBSD پنهان مانده بود (CVE-2026-4747) را شناسایی کرد و برای آن اکسپلویت توسعه داد. علاوه بر این، پژوهشگران شرکت آنتروپیک نیز از مدل‌های هوش مصنوعی خود برای شناسایی سایر آسیب‌پذیری‌های کرنل استفاده کردند.

با این حال، آسیب‌پذیری Bad Epoll نشان می‌دهد که ضعف‌های مبتنی بر شرایط رقابتی همچنان از پیچیده‌ترین انواع آسیب‌پذیری‌ها در دنیای امنیت سایبری محسوب می‌شوند. شناسایی این دسته از ضعف‌ها، توسعه پچ امنیتی مؤثر برای آن‌ها و حتی سوءاستفاده از آن‌ها، همگی با پیچیدگی‌های قابل‌توجهی همراه است. این موضوع بار دیگر نشان می‌دهد که با وجود پیشرفت چشمگیر هوش مصنوعی در شناسایی آسیب‌پذیری‌ها، نقش پژوهشگران امنیتی در شناسایی و تحلیل چنین ضعف‌های پیچیده‌ای همچنان پررنگ و تعیین‌کننده است.

منابع

همچنین ممکن است دوست داشته باشید

پیام بگذارید