خانه » CVE-2025-67733

CVE-2025-67733

Valkey Affected by RESP Protocol Injection via Lua error_reply

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

چکیده

آسیب‌پذیری تزریق (Injection) در پروتکل RESP پایگاه داده Valkey، ناشی از مدیریت نادرست کاراکترهای Null در تابع  error_reply مربوط به Lua است. یک مهاجم با دسترسی محدود می‌تواند داده‌های دلخواه را به جریان پاسخ (Response Stream) کلاینت تزریق کرده و  منجر به خرابی داده‌ها یا بازگرداندن داده‌های دستکاری‌شده به سایر کاربران روی همان اتصال(same connection)  شود.

توضیحات

آسیب‌پذیری CVE-2025-67733 در پایگاه داده کلید-مقدار توزیع‌شده (Distributed Key-Value Database) Valkey  ناشی از مدیریت نادرست کاراکترهای null در کد مدیریت خطای (error_reply) مربوط به اسکریپت‌های Lua است و مطابق با خنثی‌سازی نادرست المنت‌های ویژه در خروجی توسط یک کامپوننت پایین‌دستی (CWE-74) طبقه‌بندی می‌شود.

در حالت عادی، زمانی که یک اسکریپت Lua خطا تولید می‌کند، Valkey پیام خطا را در قالب پروتکل RESP (Redis Serialization Protocol، پروتکلی سبک برای تبادل داده‌های کلید-مقدار بین کلاینت و سرور) به کلاینت بازمی‌گرداند. با این حال، به دلیل عدم خنثی‌سازی صحیح کاراکترهای null در خروجی، مهاجم می‌تواند با تزریق Null Byte در پیام خطا، ساختار پاسخ RESP را دستکاری کند. این دستکاری به مهاجم اجازه می‌دهد داده‌های دلخواه مانند پاسخ‌های جعلی یا بخشی از پاسخ‌های دیگر را به جریان پاسخ کلاینت تزریق نماید.

در نتیجه، اگر چندین کلاینت روی یک اتصال مشترک فعالیت داشته باشند، داده‌های دستکاری‌شده ممکن است به کلاینت‌های دیگر ارسال شود. این مسئله می‌تواند منجر به خرابی داده‌ها، بازگشت اطلاعات دستکاری شده یا حتی اختلال در سرویس گردد.

بهره‌برداری از این ضعف نیازمند دسترسی پایین  بوده و از طریق شبکه و بدون نیاز به تعامل کاربر انجام می‌شود. مهاجم می‌تواند با ارسال اسکریپت Lua مخرب که خطای کنترل‌شده تولید می‌کند و شامل null bytes است، جریان پاسخ را برای همان کلاینت یا کلاینت‌های بعدی روی اتصال دستکاری کند.

این آسیب‌پذیری دارای دامنه تغییر یافته (Scope: Changed) است، زیرا تأثیر آن محدود به کلاینت مستقیم مهاجم نمی‌شود و می‌تواند سایر کاربران روی همان اتصال را نیز تحت تاثیر قرار دهد. این ضعف با انتشار نسخه‌های 7.2.12، 8.0.7، 8.1.6 و 9.0.2 به‌طور کامل پچ شده است.

CVSS

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

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

Versions Product
affected at < 7.2.12

affected at >= 8.0.0, < 8.0.7

affected at >= 8.1.0, < 8.1.6

affected at >= 9.0.0, < 9.0.2

valkey

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

Versions Product
9.0.2, 8.1.6, 8.0.7, 7.2.12 valkey

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

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

Approx. Usage in .ir Domain via Google (Total Pages) Search Query (Dork) Product
414 site:ir “valkey” “redis” valkey-io

نتیجه گیری

این آسیب‌پذیری با شدت بالا امکان تزریق داده‌های دلخواه در جریان پاسخ پروتکل RESP در Valkey را فراهم می‌کند و در سناریوهایی که چندین کاربر از یک اتصال مشترک استفاده می‌کنند، می‌تواند منجر به خرابی یا تغییر داده‌ها شود.

برای کاهش ریسک و جلوگیری از بهره‌برداری، اقدامات زیر توصیه می‌شود:

  • به‌روزرسانی فوری: Valkey را به یکی از نسخه‌های 2.12، 8.0.7، 8.1.6 یا 9.0.2 (بسته به شاخه مورد استفاده) به‌روزرسانی کنید. این اقدام مؤثرترین و قطعی‌ترین راهکار برای رفع آسیب‌پذیری است و باید در اولویت قرار گیرد. سایر اقدامات نقش مکمل را دارند و می‌توانند به کاهش ریسک این آسیب پذیری و مقابله با حملات مشابه کمک کنند.
  • ایزوله‌سازی و محدودسازی دسترسی: اجرای اسکریپت‌ها را تنها محدود به کاربران مجاز کنید و از دسترسی کاربران غیرمجاز جلوگیری نمایید. همچنین از فایروال شبکه برای ایزوله‌سازی و محافظت از سرورها استفاده کنید.
  • مانیتورینگ و ثبت لاگ: لاگ‌های اجرای اسکریپت Lua را به دقت بررسی کنید و جریان پاسخ را برای شناسایی عملکردهای غیرعادی و تزریق‌های احتمالی تحت نظر داشته باشید.
  • تست امنیتی: با استفاده از ابزارهای تحلیل امنیتی و تست Fuzzing، سناریوهای تزریق داده و دستورات Lua را شناسایی و ارزیابی کنید.
  • آموزش توسعه‌دهندگان: تیم‌های توسعه را نسبت به ریسک تزریق داده به خروجی‌ها و اهمیت بررسی دقیق ورودی‌های اسکریپت Lua آموزش دهید.

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

امکان استفاده در تاکتیک‌های Mitre Attack (در زمان اجرای حمله)

Initial Access (TA0001)
مهاجم با استفاده از اعتبارنامه‌های معتبر (یا با بهره‌برداری از یک آسیب‌پذیری دیگر برای دستیابی به احراز هویت سطح پایه)، از طریق شبکه به سرویس Valkey متصل شده و آماده ارسال بار مخرب می‌شود.

Execution (TA0002)
مهاجم با ارسال و اجرای یک اسکریپت Lua طراحی شده خاص بر روی سرور Valkey، کد مخرب خود را اجرا می‌کند. این اجرا از طریق فرمان‌هایی مانند EVAL صورت می‌گیرد.

Impact (TA0040)
بهره‌برداری موفق از این آسیب‌پذیری دو تأثیر عمده دارد. اول، نقض یکپارچگی داده‌ها (Integrity) از طریق تزریق اطلاعات نادرست به پاسخ‌های ارسالی برای سایر کاربران که می‌تواند منجر به تصمیم‌گیری اشتباه بر اساس داده‌های دستکاری شده گردد. دوم، تأثیر بر در دسترس بودن (Availability) سرویس که می‌تواند باعث اختلال کامل در پاسخ‌گویی پایگاه داده (Denial of Service) و در نتیجه از کار افتادن برنامه‌های وابسته به آن شود.

منابع

  1. https://www.cve.org/CVERecord?id=CVE-2025-67733
  2. https://www.cvedetails.com/cve/CVE-2025-67733/
  3. https://github.com/valkey-io/valkey/security/advisories/GHSA-p876-p7q5-hv2m
  4. https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-67733
  5. https://vuldb.com/?id.347501
  6. https://nvd.nist.gov/vuln/detail/CVE-2025-67733
  7. https://cwe.mitre.org/data/definitions/74.htm

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

پیام بگذارید