- شناسه CVE-2025-22056 :CVE
- CWE-787 :CWE
- yes :Advisory
- منتشر شده: آوریل 16, 2025
- به روز شده: می 26, 2025
- امتیاز: 7.8
- نوع حمله: Out-of-bounds write
- اثر گذاری: Denial of Service (Dos)
- حوزه: سیستمعاملها و اجزای کلیدی آن
- برند: Linux
- محصول: Linux
- وضعیتPublished :CVE
- No :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری نوشتن خارج از محدوده حافظه (Heap Out-of-Bounds Write) در ماژول netfilter: nft_tunnel کرنل لینوکس شناسایی شده است. این ضعف در زمان پردازش گزینههای Geneve Tunnel (NFTA_TUNNEL_KEY_OPTS_GENEVE) بهدلیل خطای نوع داده (Type Confusion) در محاسبه اشارهگر رخ میدهد و میتواند منجر به کرش سیستم یا اجرای کد دلخواه در سطح کرنل شود.
توضیحات
آسیبپذیری CVE-2025-22056 در ماژول nft_tunnel کرنل لینوکس رخ میدهد و مربوط به type confusion (خطای نوع داده) هنگام پردازش گزینههای GENEVE (geneve_opt) است. هنگام مدیریت چندین ویژگی NFTA_TUNNEL_KEY_OPTS_GENEVE، منطق پردازش باید هر ساختار geneve_opt را به ترتیب و به صورت فشرده (compact) در حافظه قرار دهد. در نسخه آسیبپذیر، تبدیل نوع داده پیش از افزودن اشارهگر (pointer addition) به اشتباه انجام شده که منجر به نوشتن خارج از محدوده حافظه (heap out-of-bounds write) می شود و مطابق با CWE-787 طبقه بندی می گردد.
این ضعف توسط KASAN شناسایی شده و نمونه لاگ آن شامل پیامهایی مانند slab-out-of-bounds در تابع nft_tunnel_obj_init، همراه با اطلاعات کامل call trace، وضعیت CPU و حافظه میباشد. بهرهبرداری موفق از این باگ میتواند باعث کرش ماژول nft_tunnel، اختلال در عملکرد Netfilter و در شرایط خاص اجرای کد دلخواه با سطح کرنل شود. این آسیبپذیری می تواند توسط کاربر لوکال با دسترسی محدود فعال شود و تنها نیاز به ارسال دادههای GENEVE به صورت خاص به سیستم دارد. شدت این آسیبپذیری بالا ارزیابی شده و به ویژه برای سیستمهایی که از Netfilter با GENEVE tunneling استفاده میکنند، تهدید جدی ایجاد میکند.
راهکار ارائه شده شامل اصلاح اضافه کردن صحیح اشارهگر و تبدیل نوع داده در توابع parse و dump است. در commitهای مرتبط این اصلاحات اعمال شدهاند و در تابع dump نیز، اشارهگرها قبل از افزودن به offset به درستی به واحدهای بایت (char * ) تبدیل شدهاند تا از نوشتن خارج از محدوده حافظه جلوگیری شود.
نسخههای آسیبپذیر شامل کرنلهای 5.7 تا قبل از پچ های مذکور هستند و نسخههای پچ شده از 5.10.236 به بعد امن محسوب میشوند.
CVSS
Score | Severity | Version | Vector String |
7.8 | HIGH | 3.1 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
لیست محصولات آسیب پذیر
Versions | Product |
affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before 31d49eb436f2da61280508d7adf8c9b473b967aa
affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before ca2adfc03cd6273f0b589fe65afc6f75e0fe116e affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before a263d31c8c92e5919d41af57d9479cfb66323782 affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before 28d88ee1e1cc8ac2d79aeb112717b97c5c833d43 affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before 0a93a710d6df334b828ea064c6d39fda34f901dc affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before 446d94898c560ed2f61e26ae445858a4c4830762 affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before 708e268acb3a446ad2a8a3d2e9bd41cc23660cd6 affected from 925d844696d9287f841d6b3e0ed62a35fb175970 before 1b755d8eb1ace3870789d48fbd94f386ad6e30be |
Linux |
affected at 5.7 | Linux |
لیست محصولات بروز شده
Versions | Product |
Unaffected from 0 before 5.7
Unaffected from 5.10.236 through 5.10.* Unaffected from 5.15.180 through 5.15.* Unaffected from 6.1.134 through 6.1.* Unaffected from 6.6.87 through 6.6.* Unaffected from 6.12.23 through 6.12.* Unaffected from 6.13.11 through 6.13.* Unaffected from 6.14.2 through 6.14.* Unaffected from 6.15 |
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 |
نتیجه گیری
این آسیبپذیری با شدت بالا در ماژول nft_tunnel کرنل لینوکس، امکان نوشتن خارج از محدوده حافظه (heap out-of-bounds write) را از طریق type confusion در پردازش گزینههای GENEVE فراهم میکند. این ضعف میتواند توسط کاربر لوکال با دسترسی محدود فعال شود و منجر به کرش ماژول، اختلال در عملکرد Netfilter و در موارد خاص اجرای کد دلخواه با سطح کرنل شود. برای کاهش ریسک و جلوگیری از بهرهبرداری، اقدامات زیر ضروری است:
- بهروزرسانی فوری: کرنل لینوکس را به نسخههای پچ شده 5.10.236، 6.1.134 و بالاتر به روزرسانی کنید. فایل های به روزرسانی را تنها از مخازن رسمی دانلود کنید.
- راهکارهای کاهش ریسک (Mitigations): ماژول ko را با modprobe.blacklist محدود کنید، استفاده از Geneve options را در nftables محدود نمایید و دسترسی به Netlink را برای nft محدود کنید.
- محدودسازی دسترسی: ارسال دادههای GENEVE و دسترسی به ماژولهای مرتبط را تنها به کاربران مورد اعتماد محدود کنید.
- نظارت بر لاگها: لاگهای KASAN و Netfilter را برای شناسایی تلاشهای بهرهبرداری بررسی کنید.
- اسکن و تست امنیتی: از ابزارهایی مانند LTP و kernel fuzzers برای شناسایی خطاهای مشابه و تست نفوذ استفاده کنید.
- آموزش و آگاهی: کاربران و مدیران سیستم را در مورد ریسکهای ماژول nft_tunnel، اهمیت بهروزرسانیهای کرنل و شناسایی خطاهای مرتبط آموزش دهید.
اجرای این اقدامات ریسک بهرهبرداری از آسیبپذیری را به حداقل رسانده، پایداری سیستم را حفظ کرده و امنیت Netfilter و تونلهای GENEVE در سیستمهای لینوکس را تقویت میکند.
امکان استفاده در تاکتیک های Mitre Atatck
Initial Access (TA0001)
در این سناریو دسترسی اولیه از طریق یک کاربر لوکال یا فرایند با توانایی ارسال یا درج گزینههای GENEVE مثلاً از طریق netlink/nftables یا سرویسهای شبکهای آسیبپذیر حاصل میشود
Execution (TA0002)
خطای محاسبه اشارهگر در nft_tunnel هنگام فشردهسازی گزینههای GENEVE منجر به نوشتن خارج از محدوده heap میشود که میتواند به کرش ماژول یا در شرایط مناسب به اجرای کد در فضای کرنل منجر گردد
Credential Access (TA0006)
در صورت بهرهبرداری مهاجم ممکن است بتواند دادههای حساس شبکهای یا token های ذخیرهشده در حافظه کرنل را خوانده یا دستکاری کند
Discovery (TA0007)
مهاجم میتواند از طریق پیمایش sysfs، netlink و nftables وجود ماژول nft_tunnel و گزینههای GENEVE را شناسایی و پارامترهای قابلدستکاری را پیدا کند
Privilege Escalation (TA0004)
هسته خطر این است که فساد heap میتواند منجر به تسلط بر جریان اجرایی کرنل و ارتقای سطح دسترسی محلی به root شود
Collection (TA0009)
پس از موفقیت، مهاجم ممکن است دادههای پیکربندی، لاگها و ساختارهای حافظه کرنل را جمعآوری کند تا دسترسی را تثبیت یا exploit های بعدی را آماده کند
Exfiltration (TA0010)
مهاجم میتواند دادههای گردآوریشده را از طریق کانالهای شبکهای قانونی یا پنهان مانند بستههای GENEVE یا تونلهای دیگر خارج کند
Defense Evasion (TA0005)
مهاجم میتواند با تحریک کرشهای موقتی و پاکسازی یا تغییر لاگها سعی کند شواهد بهرهبرداری را مخفی کند؛
Lateral Movement (TA0008)
اگر مهاجم کرنل را کنترل کند، میتواند تنظیمات شبکه را تغییر دهد یا بستههای مخرب را به گرههای دیگر ارسال کند تا دامنه حمله را گسترش دهد
Impact (TA0040)
پیامد فنی شامل کرش ماژول یا کرنل (DoS)، افشای دادههای حساس و در بدترین حالت اجرای کد با سطح کرنل (پایداری، محرمانگی و یکپارچگی مخدوش میشود) که میتواند منجر به از دست رفتن سرویسهای شبکهای گردد
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-22056
- https://www.cvedetails.com/cve/CVE-2025-22056/
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-22056
- https://vuldb.com/?id.305164
- https://git.kernel.org/stable/c/31d49eb436f2da61280508d7adf8c9b473b967aa
- https://git.kernel.org/stable/c/ca2adfc03cd6273f0b589fe65afc6f75e0fe116e
- https://git.kernel.org/stable/c/a263d31c8c92e5919d41af57d9479cfb66323782
- https://git.kernel.org/stable/c/28d88ee1e1cc8ac2d79aeb112717b97c5c833d43
- https://git.kernel.org/stable/c/0a93a710d6df334b828ea064c6d39fda34f901dc
- https://git.kernel.org/stable/c/446d94898c560ed2f61e26ae445858a4c4830762
- https://git.kernel.org/stable/c/708e268acb3a446ad2a8a3d2e9bd41cc23660cd6
- https://git.kernel.org/stable/c/1b755d8eb1ace3870789d48fbd94f386ad6e30be
- https://nvd.nist.gov/vuln/detail/CVE-2025-22056
- https://cwe.mitre.org/data/definitions/787.html