خانه » CVE-2025-40343

CVE-2025-40343

nvmet-fc: avoid scheduling association deletion twice

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

چکیده

آسیب‌پذیری در کامپوننت nvmet-fc کرنل لینوکس باعث می‌شود که فرآیند حذف یک انجمن (association) دو بار زمان‌بندی شود. این ضعف در شرایطی که پورت به‌طور اجباری خاموش (shutdown) می‌شود، می‌تواند باعث آزادسازی دوباره منابع (double-free) شود که در نهایت منجر به ناپایداری کرنل و سیستم می‌گردد.

توضیحات

آسیب‌پذیری CVE-2025-40343 در کامپوننت nvmet-fc (NVMe over Fibre Channel target driver) کرنل لینوکس رخ می‌دهد. این کامپوننت به‌طور خاص برای پیاده‌سازی سمت هدف (target) پروتکل NVMe over Fabrics (NVMe-oF) روی زیرساخت Fibre Channel طراحی شده است. پروتکل NVMe over Fabrics این امکان را فراهم می‌کند که ذخیره‌سازی NVMe از راه دور و از طریق شبکه‌های Fibre Channel در دسترس قرار گیرد که به‌طور گسترده‌ای برای انتقال داده‌های سریع در مراکز داده استفاده می‌شود.

این آسیب‌پذیری در فرآیند خاموشی اجباری (forced shutdown) یک پورت از طریق رابط configfs رخ می‌دهد. در این سناریو، تابع nvmet_port_subsys_drop_link() ابتدا تابع nvmet_port_del_ctrls() را فراخوانی کرده و سپس تابع nvmet_disable_port() را اجرا می‌کند. این دو تابع در نهایت باعث زمان‌بندی (schedule) حذف تمامی انجمن‌های باقی‌مانده برای حذف می‌شوند. انجمن (association) یعنی آبجکت کرنلی که اتصال منطقی بین target و initiator در NVMe over Fibre Channel را نگه می‌دارد و وضعیت و منابع این ارتباط را مدیریت می‌کند. در پیاده‌سازی قبلی، بررسی می‌شد که آیا انجمن در حال حذف است یا خیر، اما این بررسی پس از زمان‌بندی کار (work item) انجام می‌شد. بنابراین، این وضعیت باعث می‌شود که ابتدا کار مربوط به حذف منابع، تمام منابع را آزاد (free) کند و سپس همان کار دوباره زمان‌بندی شود که این امر منجر به حذف دوباره انجمن(association deletion twice) و آسیب‌پذیری آزادسازی دوباره منابع (double-free) می‌گردد.

لیست انجمن‌ها در این کامپوننت از نوع RCU (Read-Copy-Update) است. مکانیزم RCU در کرنل لینوکس برای مدیریت لیست‌ها بدون نیاز به قفل‌گذاری‌های سنگین طراحی شده است. با توجه به این ویژگی، حذف مستقیم ورودی‌ها در این لیست به‌راحتی امکان‌پذیر نیست. بنابراین، به منظور حل این مشکل، از یک پرچم (flag) به نام terminating استفاده شده است تا مشخص شود که آیا انجمن قبلاً در حال حذف شدن است یا خیر. این تغییر مانع از به طور مجدد زمان‌بندی شدن عملیات حذف و وقوع آزادسازی دوباره منابع می‌شود.

این آسیب‌پذیری لوکال بوده و با دسترسی پایین انجام می شود و می‌تواند بدون نیاز به تعامل کاربر مورد بهره‌برداری قرار گیرد. پیامدهای این آسیب‌پذیری می‌تواند تأثیرات شدیدی بر محرمانگی، یکپارچگی و دسترس‌پذیری سیستم داشته باشد. بهره‌برداری از این ضعف نیازمند دانش فنی عمیق از کرنل لینوکس و سناریوی خاص خاموشی اجباری پورت (forced shutdown port) است. این آسیب‌پذیری با اعمال اصلاحات در شاخه‌های پایدار کرنل لینوکس (stable kernel branches) به‌طور کامل پچ شده است.

CVSS

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

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

Versions Product
affected at 4.8 Linux
affected from a07b4970f464f13640e28e16dad6cfa33647cc99 before 2f4852db87e25d4e226b25cb6f652fef9504360e

affected from a07b4970f464f13640e28e16dad6cfa33647cc99 before 85e2ce1920cb511d57aae59f0df6ff85b28bf04d

affected from a07b4970f464f13640e28e16dad6cfa33647cc99 before 601ed47b2363c24d948d7bac0c23abc8bd459570

affected from a07b4970f464f13640e28e16dad6cfa33647cc99 before 04d17540ef51e2c291eb863ca87fd332259b2d40

affected from a07b4970f464f13640e28e16dad6cfa33647cc99 before c09ac9a63fc3aaf4670ad7b5e4f5afd764424154

affected from a07b4970f464f13640e28e16dad6cfa33647cc99 before f2537be4f8421f6495edfa0bc284d722f253841d

Linux

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

Versions Product
unaffected from 0 before 4.8

unaffected from 5.15.197 through 5.15.*

unaffected from 6.1.159 through 6.1.*

unaffected from 6.6.117 through 6.6.*

unaffected from 6.12.58 through 6.12.*

unaffected from 6.17.8 through 6.17.*

unaffected from 6.18

Linux
2f4852db87e25d4e226b25cb6f652fef9504360e,

85e2ce1920cb511d57aae59f0df6ff85b28bf04d,

601ed47b2363c24d948d7bac0c23abc8bd459570,

04d17540ef51e2c291eb863ca87fd332259b2d40,

c09ac9a63fc3aaf4670ad7b5e4f5afd764424154,

f2537be4f8421f6495edfa0bc284d722f253841d

Linux

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

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

Approx. Usage in .ir Domain via Google

(Total Pages)

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

نتیجه گیری

این آسیب‌پذیری با شدت بالا در کامپوننت nvmet-fc کرنل لینوکس می‌تواند در سناریوهای خاص منجر به آزادسازی دوباره منابع (double-free) و ناپایداری سیستم شود. با توجه به انتشار پچ‌های رسمی شاخه‌های پایدار کرنل لینوکس، اجرای اقدامات زیر برای کاهش ریسک و جلوگیری از بهره‌برداری احتمالی ضروری است:

  • به‌روزرسانی فوری کرنل: تمام سیستم‌های لینوکس که از NVMe over Fibre Channel target استفاده می‌کنند را به آخرین نسخه پایدار مربوطه به‌روزرسانی کنید. این اقدام، مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • بررسی نسخه کرنل: پس از به‌روزرسانی، اطمینان حاصل کنید که اصلاحات لازم در کرنل اعمال شده است. برای این کار می‌توانید از دستورات مانند uname -r برای بررسی نسخه کرنل یا از changelog بسته‌های توزیع برای تأیید اعمال کامیت‌های اصلاحی استفاده کنید.
  • مانیتورینگ سیستم: از ابزارهای نظارتی کرنل مانند dmesg، journalctl و سیستم‌های تشخیص نفوذ (IDS) برای شناسایی نشانه‌های ناپایداری یا کرش مرتبط با nvmet-fc استفاده کنید.
  • اصل حداقل دسترسی: دسترسی‌های لوکال را محدود کرده و از انجام عملیات shutdown پورت با دسترسی‌های غیرضروری جلوگیری کنید.
  • غیرفعال کردن ویژگی در صورت عدم نیاز: اگر از NVMe over Fabrics روی Fibre Channel استفاده نمی‌کنید، کامپوننت nvmet-fc را غیرفعال (unload) یا در لیست سیاه (blacklist) قرار دهید. این اقدام می‌تواند سطح حمله را کاهش دهد و از بروز آسیب‌پذیری‌ها جلوگیری کند.

اجرای این راهکارها، به‌ویژه به‌روزرسانی سریع کرنل، ریسک ناشی از این آسیب‌پذیری را به حداقل رسانده و امنیت کلی سیستم‌های ذخیره‌سازی مبتنی بر لینوکس را تقویت می‌کند.

 

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

Initial Access (TA0001)

ورودی این آسیب‌پذیری از طریق دسترسی لوکال به سیستم و انجام عملیات forced shutdown روی پورت NVMe over Fibre Channel ایجاد می‌شود. مهاجم باید بتواند دسترسی محدودی به سیستم داشته باشد و عملیات مدیریت پورت را آغاز کند.

Impact (TA0040)

پیامد نهایی Denial of Service (DoS) در سطح سیستم است که double-free باعث کرش یا هنگ سیستم می‌شود و نیاز به reboot اجباری دارد. در محیط‌های حیاتی یا سروری، این موضوع می‌تواند منجر به اختلال کامل در سرویس‌دهی شود. تأثیر بر محرمانگی یا یکپارچگی داده‌ها به صورت مستقیم نیست، اما دسترسی به منابع سیستم مختل می‌شود.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-40343
  2. https://www.cvedetails.com/cve/CVE-2025-40343/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-40343
  4. https://vuldb.com/?id.334897
  5. https://app.opencve.io/cve/CVE-2025-40343
  6. https://git.kernel.org/stable/c/2f4852db87e25d4e226b25cb6f652fef9504360e
  7. https://git.kernel.org/stable/c/85e2ce1920cb511d57aae59f0df6ff85b28bf04d
  8. https://git.kernel.org/stable/c/601ed47b2363c24d948d7bac0c23abc8bd459570
  9. https://git.kernel.org/stable/c/04d17540ef51e2c291eb863ca87fd332259b2d40
  10. https://git.kernel.org/stable/c/c09ac9a63fc3aaf4670ad7b5e4f5afd764424154
  11. https://git.kernel.org/stable/c/f2537be4f8421f6495edfa0bc284d722f253841d
  12. https://nvd.nist.gov/vuln/detail/CVE-2025-40343

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

پیام بگذارید