در آخرین بهروزرسانیهای هسته لینوکس (Linux kernel)، یک آسیبپذیری امنیتی در بخش bpf شناسایی و برطرف شده است. این مشکل مربوط به نقض ناپایدارهای ثباتی (REG INVARIANTS VIOLATION) در هنگام انجام محاسبات اشارهگر به صورت Speculative است.
تحلیل فنی مشکل
این آسیبپذیری زمانی رخ میدهد که یک برنامه بدون دسترسی ویژه (unprivileged program) سعی میکند عملیات ریاضی روی اشارهگرها را انجام دهد. در سناریوی شناسایی شده، زمانی که یک مقدار از bpf_map_lookup_elem فراخوانی میشود، مقدار بازگشتی در ثبات r0 قرار میگیرد. اگر در مراحل بعدی، یک مقدار اسکالر محدود (bounded scalar) به این ثبات اضافه شود، ممکن است باعث عدم همگامی بین tnum و محدوده range bounds شود.
تاثیر بر Verifier
این نقص باعث میشود که Verifier (تأییدکننده) در هنگام اجرای تابع reg_bounds_sanity_check() با خطای verifier bug: REG INVARIANTS VIOLATION (alu) مواجه شود. این وضعیت میتواند منجر به رفتارهای پیشبینی نشده در هسته سیستمعامل شود و در شرایط خاص، توسط مهاجم برای دور زدن مکانیزمهای امنیتی یا ایجاد اختلال در پایداری سیستم مورد استفاده قرار گیرد.
- نوع آسیبپذیری: Logic Error در Verifier
- محدوده اثر: Linux Kernel BPF Subsystem
- وضعیت: Patch شده