- شناسه CVE-2025-40343 :CVE
- N/A :CWE
- yes :Advisory
- منتشر شده: دسامبر 9, 2025
- به روز شده: دسامبر 20, 2025
- امتیاز: 7.0
- نوع حمله: Double-Free
- اثر گذاری: Denial of Service (Dos)
- حوزه: سیستمعاملها و اجزای کلیدی آن
- برند: Linux
- محصول: Linux
- وضعیتPublished :CVE
- No :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری در کامپوننت 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 اجباری دارد. در محیطهای حیاتی یا سروری، این موضوع میتواند منجر به اختلال کامل در سرویسدهی شود. تأثیر بر محرمانگی یا یکپارچگی دادهها به صورت مستقیم نیست، اما دسترسی به منابع سیستم مختل میشود.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-40343
- https://www.cvedetails.com/cve/CVE-2025-40343/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-40343
- https://vuldb.com/?id.334897
- https://app.opencve.io/cve/CVE-2025-40343
- https://git.kernel.org/stable/c/2f4852db87e25d4e226b25cb6f652fef9504360e
- https://git.kernel.org/stable/c/85e2ce1920cb511d57aae59f0df6ff85b28bf04d
- https://git.kernel.org/stable/c/601ed47b2363c24d948d7bac0c23abc8bd459570
- https://git.kernel.org/stable/c/04d17540ef51e2c291eb863ca87fd332259b2d40
- https://git.kernel.org/stable/c/c09ac9a63fc3aaf4670ad7b5e4f5afd764424154
- https://git.kernel.org/stable/c/f2537be4f8421f6495edfa0bc284d722f253841d
- https://nvd.nist.gov/vuln/detail/CVE-2025-40343