خانه » CVE-2025-22067

CVE-2025-22067

Spi: Cadence: Fix Out-Of-Bounds Array Access In Cdns_mrvl_xspi_setup_clock()

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

چکیده

آسیب‌پذیری دسترسی خارج از محدوده آرایه (Out-of-bounds Array Access) در درایور SPI Cadence xSPI کرنل لینوکس شناسایی شده است. در این آسیب پذیری، اگر requested_clk بیشتر از 128 مگاهرتز باشد، حلقه‌ی تنظیم ساعت بدون توقف از حد آرایه cdns_mrvl_xspi_clk_div_list فراتر می‌رود و مهاجم لوکال می‌تواند با دستکاری پارامترهای SPI، کد دلخواه اجرا کرده و کنترل سیستم را به دست آورد.

توضیحات

آسیب‌پذیری CVE-2025-22067 در تابع cdns_mrvl_xspi_setup_clock() درایور SPI Cadence xSPI (Serial Peripheral Interface، پروتکل ارتباطی سریال برای میکروکنترلرها و حافظه‌های فلش) کرنل لینوکس شناسایی شده است. در این ضعف، اعتبارسنجی نامناسب اندیس آرایه در حلقه while باعث دسترسی خارج از محدوده آرایه cdns_mrvl_xspi_clk_div_list می‌شود و مطابق با CWE-129 طبقه‌بندی می‌گردد.

این ضعف در کرنل لینوکس و فایل ماژول / /drivers/spi/spi-cadence-xspi.cفعال است. اگر مقدار requested_clk بیش از 128 مگاهرتز باشد، حلقه while که تا اندازه آرایه cdns_mrvl_xspi_clk_div_list ادامه پیدا می‌کند، بدون توقف اجرا شده و اندیس i از محدوده آرایه فراتر می‌رود که منجر به دسترسی به حافظه مجاور می‌شود. همچنین این خطا باعث هشدارهایی در کرنل با UBSAN می‌شود.

بهره‌برداری از این آسیب‌پذیری از طریق تنظیم فرکانس SPI مخرب انجام می‌شود و به‌سادگی قابل خودکارسازی است؛ مهاجم لوکال با دسترسی پایین می‌تواند با استفاده از اسکریپت‌های C یا فریم‌ورک‌های اکسپلویت کرنل، پارامترهای xSPI را دستکاری کند تا اندیس آرایه از محدوده خارج شود که این موضوع می‌تواند منجر به سرریز حافظه و اجرای کد دلخواه در فضای کرنل گردد.

پیامدهای این آسیب‌پذیری شامل نقض شدید محرمانگی با دسترسی به داده‌های حساس کرنل، یکپارچگی با تغییر کد کرنل یا نصب rootkit و در دسترس‌پذیری با امکان کرش سیستم (Kernel Panic) یا DoS است.

این آسیب‌پذیری نسخه پیش از 6.12 کرنل لینوکس را تحت‌تأثیر قرار می‌دهد. تیم لینوکس پچ رسمی را در commit 7ba0847fa1c22e7801cebfe5f7b75aee4fae317e منتشر کرده است. این پچ حلقه را به صورتی اصلاح می‌کند که قبل از رسیدن به آخرین المنت آرایه متوقف شود و فرکانس را به حداقل 6.25 مگاهرتز محدود (clamp) کند؛ همچنین هشدارهای UBSAN را نیز برطرف می‌کند. بنابراین اقدام فوری برای اعمال به‌روزرسانی‌های کرنل (به‌روزرسانی به نسخه‌های حاوی این پچ یا به‌روزرسانی‌های رسمی توزیع) توصیه می‌شود.

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 26d34fdc49712ddbd42b11102f5d9d78a0f42097 before e50781bf7accc75883cb8a6a9921fb4e2fa8cca4

affected from 26d34fdc49712ddbd42b11102f5d9d78a0f42097 before c1fb84e274cb6a2bce6ba5e65116c06e0b3ab275

affected from 26d34fdc49712ddbd42b11102f5d9d78a0f42097 before 645f1813fe0dc96381c36b834131e643b798fd73

affected from 26d34fdc49712ddbd42b11102f5d9d78a0f42097 before 7ba0847fa1c22e7801cebfe5f7b75aee4fae317e

Linux
affected at 6.12 Linux

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

Versions Product
Unaffected from 0 before 6.12

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

نتیجه گیری

این آسیب‌پذیری با شدت بالا در درایور SPI Cadence xSPI کرنل لینوکس، امکان دسترسی خارج از محدوده آرایه را فراهم می‌کند. برای کاهش ریسک و جلوگیری از بهره‌برداری، اقدامات زیر ضروری است:

  • به‌روزرسانی فوری: کرنل لینوکس را به نسخه‌های پچ‌شده به‌روزرسانی کنید. فایل‌های به‌روزرسانی را تنها از مخازن رسمی توزیع دانلود نمایید.
  • راهکارهای کاهش ریسک (Mitigations): ماژول spi-cadence-xspi.ko را با blacklist محدود کنید، فرکانس xSPI را در device tree به 128 مگاهرتز یا کمتر محدود کنید و دسترسی به /drivers/spi را با SELinux محدود نمایید.
  • محدودسازی دسترسی: دسترسی کاربران به درایورهای SPI را محدود کنید، اصل حداقل دسترسی (Least Privilege) را برای فرمان‌های ioctl مربوط به SPI اعمال نمایید و دسترسی به مسیر sysfs/spi را با AppArmor کنترل کنید..
  • نظارت بر لاگ ها: لاگ‌های کرنل (dmesg) و UBSAN را با ابزارهایی مانند auditd یا journalctl بررسی کنید و از سیستم‌هایSIEM برای تشخیص دسترسی‌های خارج از محدوده آرایه استفاده نمایید.
  • ایزوله‌سازی محیط: ماژول‌های SPI را در namespaceهای ایزوله (unshare) اجرا کنید و دسترسی به حافظه کرنل را با KASLR (Kernel Address Space Layout Randomization) و SMEP/SMAP محدود نمایید.
  • اسکن و تست امنیتی: سیستم را با ابزارهایی مانند کرنل Fuzzer یا syzkaller اسکن کنید و تست‌های نفوذ روی سناریوهای SPI clock setup انجام دهید.
  • آموزش: مدیران سیستم را در مورد ریسک‌های out-of-bounds در درایورهای SPI، اهمیت به‌روزرسانی‌های کرنل و تشخیص هشدارهای UBSAN آموزش دهید.
  • نکته تکمیلی: اگر امکان غیرفعال‌سازی xSPI overlay در device tree وجود دارد، این اقدام فوری ریسک را به حداقل می‌رساند؛ در غیر این صورت، به روزرسانی کرنل توصیه می‌شود.

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

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

Initial Access (TA0001)
در این رویداد مهاجمِ محلی از طریق دسترسی به‌ظاهر کم‌امتیاز مثلاً یک حساب کاربری که می‌تواند پارامترهای سخت‌افزاری یا sysfs مربوط به SPI را تغییر دهد وارد سامانه می‌شود و با تنظیم requested_clk به مقدار بالای 128 MHz مسیر بهره‌برداری را باز می‌کند

Execution (TA0002)
باگ در حلقه cdns_mrvl_xspi_setup_clock() منجر به خروج از محدوده آرایه و نوشتن/خواندن حافظه مجاور می‌شود که ممکن است به کرش کرنل یا اجرای کد در فضای کرنل RCE محلی منجر شود

Credential Access (TA0006)
بهره‌بردار پس از اجرای کد یا خواندن حافظه کرنل می‌تواند توکن‌ها، کلیدهای رمز یا داده‌های حساس کرنل را استخراج کند و آن‌ها را برای تثبیت دسترسی استفاده کند

Discovery (TA0007)
در صورت دسترسی اولیه مهاجم API های sysfs، فایل‌های دستگاه و پیکربندی‌های سخت‌افزاری را پیمایش می‌کند تا بردهای آسیب‌پذیر، مسیرهای دسترسی به ioctl ها و نقطه ورودهای دیگر را شناسایی کند

Privilege Escalation (TA0004)
با تجاوز از مرز آرایه مهاجم می‌تواند کنترل حافظه کرنل را به‌دست آورد و از کاربر عادی به root ارتقا یابد

Collection (TA0009)
بعد از تثبیت و اجرای کد، مهاجم داده‌های حساس شامل پیکربندی‌ها، لاگ‌های کرنل و محتویات حافظه کرنل را جمع‌آوری می‌کند تا از آن‌ها برای تثبیت یا توسعه حمله استفاده کند

Defense Evasion (TA0005)
مهاجم می‌تواند با پاک‌سازی یا تغییر لاگ‌ها، ایجاد crashهای گذرا یا استفاده از جلسات معتبر ردپاها را محو کند تا تشخیص دشوار شود

Lateral Movement (TA0008)
با بهره‌برداری از دسترسی کرنلی مهاجم می‌تواند به سایر دستگاه‌های متصل یا سرویس‌های محلی که از همان درایور یا کانال‌های مدیریتی استفاده می‌کنند منتقل شود

Impact (TA0040)
پیامد فنی شامل کرش سیستم، افشای داده‌های کرنل، نصب rootkit و از دست رفتن درستی و دسترسی سرویس‌ها می‌باشد که می‌تواند به اختلال گسترده سرویس یا نفوذ دائمی منجر شود

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-22067
  2. https://www.cvedetails.com/cve/CVE-2025-22067/
  3. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-22067
  4. https://vuldb.com/?id.305157
  5. https://git.kernel.org/stable/c/e50781bf7accc75883cb8a6a9921fb4e2fa8cca4
  6. https://git.kernel.org/stable/c/c1fb84e274cb6a2bce6ba5e65116c06e0b3ab275
  7. https://git.kernel.org/stable/c/645f1813fe0dc96381c36b834131e643b798fd73
  8. https://git.kernel.org/stable/c/7ba0847fa1c22e7801cebfe5f7b75aee4fae317e
  9. https://nvd.nist.gov/vuln/detail/CVE-2025-22067
  10. https://cwe.mitre.org/data/definitions/129.html

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

پیام بگذارید

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