خانه » CVE-2025-21701

CVE-2025-21701

Net: Avoid Race Between Device Unregistration And Ethnl Ops

توسط Vulnerbyte Alerts
4 بازدید
هشدار سایبری CVE-2025-21701

چکیده

آسیب‌پذیری شرایط رقابتی (race condition) در ماژول net/ethtool کرنل لینوکس زمانی رخ می‌دهد که یک دستگاه شبکه در حال لغو ثبت (device unregistration) باشد و همزمان عملیات ethnl روی آن اجرا شود. این وضعیت می‌تواند منجر به از بین رفتن قفل‌ها (mutex lock) و کرش کرنل شود.

توضیحات

آسیب‌پذیری CVE-2025-21701 در کرنل سیستم‌عامل لینوکس، ناشی از شرایط رقابتی بین لغو ثبت دستگاه شبکه(device unregistration) و عملیات ethnl (Ethernet Netlink، پروتکل ارتباطی برای مدیریت تنظیمات شبکه از طریق netlink sockets) است و مطابق با CWE-362 طبقه‌بندی می‌شود.

این ضعف زمانی رخ می‌دهد که فراخوان unregister_netdevice_many_notify قبل از بخش rtnl lock (RTNL، قفل سراسری برای عملیات شبکه) اجرا شود، در حالی که عملیات ethtool/netlink مانند set_channels هنوز در حال اجرا است. در چنین حالتی قفلی مانند rss lock ممکن است توسط مسیر حذف دستگاه از بین برود و استفاده بعدی از آن باعث هشدارهای قفل مثلاً DEBUG_LOCKS_WARN_ON(lock->magic != lock) و WARNING … __mutex_lock و در ادامه کرش یا kernel panic شود. نمونه هشدار در لاگ کرنل به صورت زیر است:

DEBUG_LOCKS_WARN_ON(lock->magic != lock)

WARNING: CPU: 3 PID: 3754 at kernel/locking/mutex.c:564 __mutex_lock

توجه داشته باشید که نسخه IOCTL (__dev_ethtool) این مشکل را ندارد، زیرا ارجاع به دستگاه از داخل بخش قفل RTNL گرفته می‌شود و پس از شروع فرآیند dismantle دستگاه از لیست حذف می‌گردد.

از منظر تهدید، یک مهاجم لوکال با دسترسی عادی، می‌تواند با اجرای سناریوهای حساس به زمان (timing‑sensitive scripts) مانند تکرار همزمان فراخوان‌های ethtool و روند حذف دستگاه، شرط رقابتی را برنده شده و موجب کرش هسته یا قفل سیستم (panic یا hang) شود. پیامدها شامل قطع کامل سرویس شبکه، از دست رفتن داده‌های ترافیکی، بروز عملکرد ناپایدار در سیستم و نیاز به راه‌اندازی مجدد دستی است. در نتیجه تأثیر روی سه محور اصلی امنیت یعنی محرمانگی،یکپارچگی و در دسترس پذیری است.

برای رفع این ضعف، کرنل لینوکس اصلاح شده است تا هرگونه عملیات روی دستگاه‌هایی که در حال حذف شدن (unregistering/dismantle) هستند، متوقف شود. این تغییر باعث می‌شود که دسترسی به قفل ازکار افتاده (destroyed lock) امکان‌پذیر نباشد و شرایط رقابتی بین عملیات ethnl و لغو ثبت دستگاه از بین برود، در نتیجه کرش کرنل (kernel panic) رفع می‌شود.

CVSS

Score Severity Version Vector String
7.4 HIGH 3.1 CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

لیست محصولات آسیب پذیر

Versions Product
affected from cfd719f04267108f5f5bf802b9d7de69e99a99f9 before 26bc6076798aa4dc83a07d0a386f9e57c94e8517

affected from dde91ccfa25fd58f64c397d91b81a4b393100ffa before b1cb37a31a482df3dd35a6ac166282dac47664f4

affected from dde91ccfa25fd58f64c397d91b81a4b393100ffa before 2f29127e94ae9fdc7497331003d6860e9551cdf3

affected from dde91ccfa25fd58f64c397d91b81a4b393100ffa before b382ab9b885cbb665e0e70a727f101c981b4edf3

affected from dde91ccfa25fd58f64c397d91b81a4b393100ffa before 4dc880245f9b529fa8f476b5553c799d2848b47b

affected from dde91ccfa25fd58f64c397d91b81a4b393100ffa before 12e070eb6964b341b41677fd260af5a305316a1f

affected at 7c26da3be1e9843a15b5318f90db8a564479d2ac

Linux
affected at 5.16 Linux

لیست محصولات بروز شده

Versions Product
Unaffected from 0 before 5.16

Unaffected from 5.15.179 through 5.15.*

Unaffected from 6.1.129 through 6.1.*

Unaffected from 6.6.76 through 6.6.*

Unaffected from 6.12.13 through 6.12.*

Unaffected from 6.13.2 through 6.13.*

Unaffected from 6.14

Linux

استفاده محصول در ایران

در این جدول، تعداد صفحات ایندکس‌شده در گوگل با دامنه .ir که Linux kernel را ذکر کرده اند، ثبت شده است. این داده صرفاً برای برآورد تقریبی حضور محصولات در وب ایران استفاده شده و نمایانگر میزان نصب دقیق و استفاده واقعی نیست.

Approx. Usage in .ir Domain via Google

(Total Pages)

Search Query (Dork) Product
57,900 site:.ir “Linux kernel” Linux kernel

نتیجه گیری

این آسیب‌پذیری با شدت بالا در کرنل لینوکس امکان کرش سیستم از طریق شرایط رقابتی در ethnl ops را فراهم کرده و پایداری شبکه را تهدید می کند. برای جلوگیری و کاهش ریسک اقدامات زیر توصیه می شود:

  • به‌روزرسانی فوری: کرنل را به نسخه‌های پچ منتشر شده توسط org به‌روزرسانی کنید.
  • کاهش ریسک RTNL: : در اسکریپت‌های ethtool از rtnl_trylock() استفاده کرده و اجرای همزمان (concurrent execution) عملیات را کنترل و پاک‌سازی نمایید.
  • کنترل دسترسی: دسترسی ethtool را با setcap محدود کنید و عملیات لغو ثبت دستگاه (device unregistration) را با AppArmor ایزوله نمایید.
  • نظارت لاگ: با dmesg و journalctl لاگ‌ها را برای هشدارهای mutex نظارت کرده و آن‌ها را به سیستم مدیریت رخداد و اطلاعات امنیتی (SIEM) متصل کنید.
  • ایزوله‌سازی محیط شبکه: از Network namespaces (ip netns) برای تست ethtool استفاده کرده و با sysctl زمان‌بندی قفل‌ها را مدیریت کنید.
  • اسکن امنیتی: از ابزارهایی مانند Lynis یا KernelCare برای شناسایی شرایط رقابتی (race condition) استفاده کرده و فازینگ روی سوکت‌های netlink (netlink sockets) انجام دهید.
  • آموزش مدیران: مدیران سیستم را در مورد ریسک‌های عملیات همزمان شبکه و اهمیت backport پچ‌های کرنل آموزش دهید.

اجرای این توصیه‌ها، ریسک کرش کرنل و اختلال در سرویس شبکه را به حداقل رسانده و پایداری سیستم‌های مبتنی بر لینوکس را تضمین می‌کند.

امکان استفاده در تاکتیک های Mitre Attack

Initial Access (TA0001)
در این سناریو مهاجمِ محلی با دسترسی کاربران عادی (non‑privileged) نقطه ورود را فراهم می‌کند؛ با اجرای اسکریپت‌های زمان‌بندی‌شده که فراخوان‌های ethtool را هم‌زمان با روند حذف دستگاه تکرار می‌کنند، مهاجم شرایط لازم برای وقوع race condition را ایجاد می‌کند.

Impact (TA0040)
پیامد اصلی این ضعف قطع سرویس و کاهش دسترس‌پذیری (kernel panic, host hang) است که می‌تواند به از دست رفتن خدمات شبکه، اختلال در سرویس‌های بالادستی و نیاز به reboot‌های دستی منجر شود

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-21701
  2. https://www.cvedetails.com/cve/CVE-2025-21701/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-21701
  4. https://vuldb.com/?id.295735
  5. https://git.kernel.org/stable/c/26bc6076798aa4dc83a07d0a386f9e57c94e8517
  6. https://git.kernel.org/stable/c/b1cb37a31a482df3dd35a6ac166282dac47664f4
  7. https://git.kernel.org/stable/c/2f29127e94ae9fdc7497331003d6860e9551cdf3
  8. https://git.kernel.org/stable/c/b382ab9b885cbb665e0e70a727f101c981b4edf3
  9. https://git.kernel.org/stable/c/4dc880245f9b529fa8f476b5553c799d2848b47b
  10. https://git.kernel.org/stable/c/12e070eb6964b341b41677fd260af5a305316a1f
  11. https://nvd.nist.gov/vuln/detail/cve-2025-21701
  12. https://cwe.mitre.org/data/definitions/362.html

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

پیام بگذارید

send
سوالی دارید؟
می تونید از من بپرسید 👋 ×