- شناسه CVE-2025-67733 :CVE
- CWE-74 :CWE
- yes :Advisory
- منتشر شده: فوریه 23, 2026
- به روز شده: فوریه 23, 2026
- امتیاز: 8.5
- نوع حمله: Injection
- اثر گذاری: Data tampering & corruption
- حوزه: پایگاههای داده
- برند: valkey-io
- محصول: valkey
- وضعیتPublished :CVE
- Yes :POC
- وضعیت آسیب پذیری: patch شده
چکیده
آسیبپذیری تزریق (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) و در نتیجه از کار افتادن برنامههای وابسته به آن شود.
منابع
- https://www.cve.org/CVERecord?id=CVE-2025-67733
- https://www.cvedetails.com/cve/CVE-2025-67733/
- https://github.com/valkey-io/valkey/security/advisories/GHSA-p876-p7q5-hv2m
- https://vulmon.com/vulnerabilitydetails?qid=CVE-2025-67733
- https://vuldb.com/?id.347501
- https://nvd.nist.gov/vuln/detail/CVE-2025-67733
- https://cwe.mitre.org/data/definitions/74.htm
گزارش اثبات آسیبپذیری CVE-2025-67733
اطلاعات آسیبپذیری
عنوان: تزریق پروتکل RESP از طریق خطای اسکریپت Lua در Valkey
شناسه: CVE-2025-67733
وضعیت مشاوره: Patch Available
امتیاز CVSS: 8.5 (HIGH)
محصول: Valkey (دیتابیس کلید-مقدار توزیعشده)
محصول / نسخههای آسیبپذیر
در نسخههای زیر (پیش از اعمال وصله امنیتی) :
- تمامی نسخههای قبل از 7.2.12
- نسخههای 8.0.0 تا 8.0.6 (شامل این نسخهها)
- نسخههای 8.1.0 تا 8.1.5 (شامل این نسخهها)
- نسخههای 9.0.0 تا 9.0.1 (شامل این نسخهها)
محیطهای درگیر
- تمامی سرورهای Valkey که از نسخههای آسیبپذیر استفاده میکنند
- محیطهای تولیدی (Production) که از Valkey به عنوان حافظه نهان یا دیتابیس اصلی بهره میبرند
- برنامههای کاربردی که از طریق یک اتصال مشترک (Connection) درخواستهای همزمان ارسال میکنند
- محیطهای مبتنی بر کانتینر و میکروسرویس که Valkey در آنها مستقر شده است
- زیرساختهایی که بهروزرسانیهای امنیتی مربوط به نسخههای اصلاحشده را اعمال نکردهاند
کامپوننتهای آسیبپذیر
- موتور اجرای اسکریپتهای Lua در Valkey
- مکانیزم مدیریت خطا (Error Handling) برای اسکریپتهای Lua
- تابع error_reply در زمان بازگرداندن خطاهای اسکریپت
- پروتکل RESP (REdis Serialization Protocol) برای ارتباط با کلاینتها
ریشه مشکل (Root Cause Analysis)
ریشه اصلی این آسیبپذیری به یک نقص امنیتی از نوع “خنثیسازی نادرست عناصر ویژه در خروجی مورد استفاده توسط یک جزء پاییندستی” (CWE-74) بازمیگردد . در هسته این نقص، کد مدیریت خطا برای اسکریپتهای Lua به درستی کاراکترهای null (رشتههای حاوی \x00) را پردازش نمیکند .
هنگامی که یک اسکریپت Lua با خطا مواجه میشود یا خروجی آن حاوی کاراکترهای null است، مکانیزم error_reply این کاراکترها را بهدرستی خنثیسازی (Sanitize) یا پایانبخشی (Terminate) نمیکند. این ضعف طراحی به مهاجم اجازه میدهد اطلاعات دلخواه را به استریم پاسخ (Response Stream) کلاینت تزریق کند. در نتیجه، پاسخهای در نظر گرفته شده برای سایر کاربرانی که از همان اتصال (Connection) استفاده میکنند، میتوانند با دادههای آلوده و کنترلشده توسط مهاجم ترکیب شده و دچار دستکاری یا آلودگی شوند .
بخش آسیبپذیر
رفتار ناامن سیستم:
عدم پالایش صحیح کاراکترهای null در خروجی خطاهای اسکریپتهای Lua که منجر به تزریق دادههای دلخواه به استریم پاسخ پروتکل RESP و در نتیجه آلوده شدن پاسخهای سایر کلاینتهای متصل میگردد .
نحوه سوءاستفاده مهاجم:
- مهاجم با دسترسی شبکه به نمونه Valkey و داشتن مجوز اجرای دستورات اسکریپت، یک اسکریپت Lua مخرب طراحی میکند.
- اسکریپت به گونهای نوشته میشود که در فرآیند اجرا، یک خطا (Error) حاوی کاراکترهای null تولید کند یا خروجی آن شامل این کاراکترها باشد.
- اسکریپت مخرب روی سرور Valkey اجرا میشود.
- مکانیزم مدیریت خطا به دلیل عدم پردازش صحیح کاراکترهای null، دادههای کنترلنشده را به استریم پاسخ تزریق میکند .
- استریم پاسخ آلوده به سایر کلاینتهایی که از همان اتصال مشترک استفاده میکنند، تحویل داده میشود.
- کلاینتهای قربانی دادههای دستکاریشده یا آلوده را دریافت میکنند که میتواند منجر به آلوده سازی داده (Data Corruption) یا تصمیمگیری اشتباه در برنامه کاربردی شود.
نقش این آسیبپذیری در زنجیره حمله
این آسیبپذیری به عنوان یک مکانیزم “تأثیر بر یکپارچگی” (Integrity Impact) در زنجیره حمله (Cyber Kill Chain) عمل میکند. مهاجم پس از کسب دسترسی اولیه به شبکه و احراز هویت در سرور Valkey (فازهای تحویل و بهرهبرداری)، از این نقص برای آلودهسازی پاسخهای ارسالی به سایر کلاینتها استفاده میکند. این اقدام در فاز “اقدام بر روی اهداف” (Actions on Objectives) قرار میگیرد، جایی که مهاجم به دنبال ایجاد اختلال یا دستکاری در دادههای برنامه است.
ماهیت این آسیبپذیری به گونهای است که مهاجم میتواند بدون نیاز به تعامل کاربر (Zero-Click) و صرفاً با اجرای یک اسکریپت، پاسخهای دریافتی توسط سایر مصرفکنندگان سرویس را تغییر دهد. این مسئله میتواند در برنامههای حساس مانند سیستمهای کش، صفهای پیام یا ذخیرهسازی نشستهای کاربری، منجر به عواقب جدی از جمله نادیده گرفته شدن تراکنشها، نمایش اطلاعات نادرست یا ایجاد ناسازگاری در دادهها شود. امتیاز بالای تأثیر بر در دسترس بودن (High Availability Impact) در بردار CVSS نشاندهنده پتانسیل این آسیبپذیری برای ایجاد اختلال جدی در سرویسدهی است .
پیشنیازهای بهرهبرداری (Prerequisites)
- دسترسی شبکه به نمونه Valkey آسیبپذیر از سوی مهاجم .
- داشتن یک حساب کاربری معتبر و احرازهویتشده در سرور Valkey (امتیاز سطح پایین کافی است) .
- توانایی مهاجم برای اجرای دستورات اسکریپت (مانند EVAL) بر روی سرور هدف.
- نصب بودن یکی از نسخههای آسیبپذیر Valkey بر روی سرور .
- وجود حداقل یک کلاینت دیگر که از همان اتصال (Connection) با سرور استفاده کند تا پاسخ آلوده به او تحویل داده شود .
- عدم نصب وصله امنیتی موجود در نسخههای 7.2.12، 8.0.7، 8.1.6 یا 9.0.2.
رفتار مورد انتظار در حالت امن (Expected Secure Behavior)
- تمامی خروجیهای تولیدشده توسط اسکریپتهای Lua، به ویژه پیامهای خطا، باید پیش از ارسال به کلاینت، به طور کامل پالایش (Sanitize) شوند.
- کاراکترهای خاص مانند null باید به درستی خنثیسازی شده یا باعث قطع و پایانبخشی صحیح استریم پاسخ گردند.
- مرزهای پروتکل RESP باید به شدت حفظ شده و هیچ داده اضافی خارج از این چارچوب به استریم پاسخ تزریق نشود.
- استریم پاسخ مختص هر کلاینت باید ایزوله باشد و تحت تأثیر درخواستهای کلاینتهای دیگر قرار نگیرد.
- هرگونه خطا در اجرای اسکریپت باید به گونهای مدیریت شود که منجر به آلودگی پاسخهای سایر اتصالات نگردد (Fail-Closed).
راهکارها و کاهش ریسک (Mitigation / Patch Guidance)
اقدامات فوری برای کاهش ریسک:
- بهروزرسانی فوری نمونههای Valkey به نسخههای اصلاحشده 7.2.12، 8.0.7، 8.1.6 یا 9.0.2 (یا بالاتر) .
- در اولویت قرار دادن بهروزرسانی سرورهایی که در معرض شبکه هستند یا توسط کاربران متعدد مورد استفاده قرار میگیرند.
- بررسی و اعمال وصله بر روی کلیه محیطهای تولید، آزمایش و توسعه.
اقدامات کوتاهمدت / میانمدت برای کاهش ریسک:
- برای سیستمهایی که قادر به بهروزرسانی فوری نیستند، محدودسازی دسترسی به سرور Valkey صرفاً به آدرسهای IP معتبر و مورد اعتماد.
• غیرفعالسازی موقت قابلیت اجرای اسکریپتهای Lua در صورت امکان و عدم اختلال در سرویسهای بالادستی.
• پیادهسازی مکانیزمهای مانیتورینگ برای شناسایی الگوهای غیرعادی در اجرای اسکریپتها و پاسخهای بازگشتی.
• افزایش سطح لاگبرداری برای ثبت دقیق دستورات اسکریپت و خطاهای مرتبط.
اقدامات بلندمدت برای کاهش ریسک:
- استقرار یک فرآیند مدیریت پیکربندی و بهروزرسانی خودکار برای تمامی اجزای زیرساخت.
• بازبینی دورهای مجوزهای دسترسی کاربران و اعمال اصل کمترین دسترسی (Principle of Least Privilege).
• اجرای مانورهای امنیتی و نفوذسنجی برای ارزیابی اثربخشی کنترلهای دفاعی.
• آموزش تیمهای توسعه و عملیات در خصوص خطرات امنیتی مرتبط با اسکریپتنویسی در سرویسهای داده.
تشخیص و مانیتورینگ (Detection & Monitoring)
نشانههای تلاش برای سوءاستفاده:
- ثبت خطاهای غیرمعمول و مکرر در لاگهای Valkey که به اجرای اسکریپتهای Lua مرتبط هستند.
• مشاهده الگوهای عجیب در پاسخهای بازگشتی به کلاینتها، مانند دادههای بههمریخته یا حاوی کاراکترهای کنترلی غیرمنتظره.
• افزایش ناگهانی در تعداد دستورات EVAL یا سایر دستورات مرتبط با اسکریپتنویسی از سوی یک کاربر خاص.
• شکایت کلاینتها از دریافت دادههای نامعتبر یا پاسخهای نامنسجم از سرور.
• شناسایی اسکریپتهایی با محتوای مشکوک که تلاش میکنند خطاهای خاصی تولید کنند.
منابع پیشنهادی برای مانیتورینگ و پایش:
- لاگهای داخلی Valkey (فایلهای log) با تمرکز بر خطاها و هشدارهای مرتبط با ماژول Lua.
- تلهمتریهای راهکارهای مانیتورینگ عملکرد برنامه (APM) که با Valkey ارتباط دارند.
- سامانههای SIEM برای جمعآوری و همبستگی لاگهای سرور و شناسایی الگوهای مشکوک.
- پایش ترافیک شبکه برای شناسایی پاسخهای غیرعادی از سمت سرور Valkey.
- راهکارهای تشخیص ناهنجاری (Anomaly Detection) بر روی الگوی دستورات دریافتی توسط سرور.
واکنش به حادثه (Incident Response)
- ایزولهسازی سریع نمونه Valkey مشکوک یا قطع اتصال آن از شبکه برای جلوگیری از تأثیر بر سایر سرویسها.
- جمعآوری لاگهای سرور و ثبت کلیه دستورات اجراشده در بازه زمانی حادثه.
- تحلیل دقیق اسکریپتهای Lua اجراشده برای شناسایی ماهیت حمله و هدف مهاجم.
- بررسی میزان تأثیر بر یکپارچگی دادهها و شناسایی کلاینتهایی که ممکن است پاسخهای آلوده دریافت کرده باشند.
- پاکسازی دادههای آلوده و بازگردانی اطلاعات سالم از پشتیبانگیری در صورت نیاز.
- اعمال وصله امنیتی و بهروزرسانی نمونه به نسخه پایدار و امن.
- مستندسازی کامل رویداد و درسهای آموختهشده برای بهبود فرآیندهای واکنش به حادثه در آینده.
جریان حمله (Attack Flow)
حمله با دسترسی یک مهاجم احرازهویتشده به سرور Valkey آغاز میشود. او با اجرای یک اسکریپت Lua مخرب، از ضعف مدیریت خطا سوءاستفاده کرده و دادههای دلخواه را به استریم پاسخ تزریق میکند. این استریم آلوده به کلاینتهای دیگر تحویل داده شده و باعث آلودگی اطلاعات در سمت آنها میشود (شکل ۱).

شکل 1: نمودار جریان حمله
اثبات مفهوم (PoC) — کاملاً غیرمخرب
آزمایشگاه تخصصی Vulnerbyte این آسیبپذیری را در یک محیط ایزوله و کنترلشده مورد بررسی قرار داده است.کدهای اثبات مفهوم منتشر شده برای این آسیبپذیری، که عموماً برای محیطهای آزمایشگاهی کنترلشده طراحی شدهاند، مکانیزم بهرهبرداری را به وضوح نشان میدهند شکل ۲.
- این اثبات مفهوم صرفاً جهت درک بهتر سازوکار حمله و به صورت توصیفی ارائه میشود .
• یک محیط آزمایشگاهی ایزوله با نصب نسخه آسیبپذیر Valkey (به عنوان مثال 8.0.6) آماده شده است.
• دو اتصال همزمان به سرور برقرار میشود: یکی برای مهاجم و دیگری برای کلاینت قربانی.
• مهاجم یک اسکریپت Lua ساده اجرا میکند که با استفاده از کاراکتر null در پیام خطا، تلاش میکند پاسخ را آلوده کند.
• سرور Valkey این خطا را پردازش کرده و به دلیل عدم خنثیسازی کاراکتر null، داده “Injected Data” را به استریم پاسخ اضافه میکند.
• کلاینت قربانی که درخواست عادی خود را ارسال کرده، پاسخی ترکیبی شامل دادههای تزریقی دریافت میکند.
• پس از اعمال وصله امنیتی (ارتقا به نسخه 8.0.7)، اجرای مجدد سناریو منجر به مدیریت صحیح خطا شده و پاسخ کلاینت قربانی سالم باقی میماند .

شکل 2: اثبات اجرای آسیب پذیری
رفع مسئولیت
این گزارش صرفاً با هدف آموزش، تحلیل فنی و ارتقای امنیت سازمانی تهیه شده است. هرگونه استفاده مخرب یا خارج از چارچوبهای قانونی از محتوای آن ممنوع است.
منابع
https://www.cve.org/CVERecord?id=CVE-2025-67733
https://nvd.nist.gov/vuln/detail/CVE-2025-67733
https://cwe.mitre.org/data/definitions/74.html
https://github.com/valkey-io/valkey/security/advisories
https://vulners.com/cvelist/CVELIST:CVE-2025-67733
Valkey
CVE-2025-67733 – RESP Protocol Injection via Lua Script Error Handling
Affects
- Valkey (distributed key-value database)
- Versions prior to 7.2.12, 8.0.7, 8.1.6, and 9.0.2
- Deployments where:
- the Valkey instance is reachable over the network,
- scripting commands (Lua) are enabled and accessible,
- multiple clients share the same connection.
Description
CVE-2025-67733 is a high-severity injection vulnerability in Valkey caused by improper neutralization of special elements in output used by a downstream component (CWE-74) .
In affected versions, a malicious user can use scripting commands to inject arbitrary information into the response stream for a given client, potentially corrupting or returning tampered data to other users on the same connection. The error handling code for Lua scripts does not properly handle null characters (\x00) .
This vulnerability is:
- rooted in improper handling of null characters in Lua script error processing,
- accessible remotely over the network,
- exploitable by any user who can execute scripting commands,
- capable of corrupting or tampering with data returned to other clients,
- present in all versions prior to the fixed releases.
Because the error handling fails to sanitize or properly terminate output containing null bytes, an authenticated attacker can inject malicious content into the response stream of other clients sharing the same connection, potentially leading to data corruption or misleading responses .
Successful exploitation may result in data integrity compromise and availability impact, as tampered data can corrupt client-side processing or cause unexpected behavior in applications relying on Valkey.
Attack Vector
Primary Attack Vector:
Remote / Network-based (scripting commands to Valkey instance)
Attack Scenario:
- An attacker with network access to a vulnerable Valkey instance crafts a malicious Lua script.
- The script is designed to produce output or error messages containing null characters.
- Upon execution, Valkey’s error handling code mishandles the null characters, failing to properly terminate or sanitize the response.
- The attacker-controlled content is injected into the response stream for the client connection.
- Other clients sharing the same connection receive corrupted or tampered data, potentially leading to application-level errors or data integrity issues.
Key Characteristics:
- Requires authenticated access with ability to execute scripting commands .
- No user interaction required from victim clients.
- Exploitation relies on a design flaw in error handling logic.
- Affects multiple clients sharing the same connection.
- All vulnerable Valkey deployments share the same flawed implementation.
Conditions Increasing Risk:
- Valkey instances with scripting commands enabled.
- Shared connections with multiple clients (common in connection pooling scenarios).
- Applications relying on Valkey for critical data operations.
- Lack of input validation on Lua scripts.
- Multi-tenant environments where untrusted users can execute scripts.
Impact
An attacker successfully exploiting CVE-2025-67733 may be able to:
- inject arbitrary data into client response streams,
- corrupt data returned to legitimate users,
- tamper with responses to mislead applications,
- cause application-level errors or unexpected behavior,
- potentially disrupt availability of services relying on Valkey,
- compromise data integrity without direct access to stored data.
Because Valkey is a distributed key-value database, the blast radius may include all clients sharing compromised connections, potentially affecting multiple applications or services.
Observed Exploitation & Threat Activity
- At the time of disclosure, there are no confirmed reports of widespread exploitation in the wild .
- The vulnerability is considered high risk with a CVSS score of 8.5 due to:
- network-based attack vector,
- low attack complexity,
- potential for data corruption across multiple clients,
- impact on integrity and availability.
- Similar injection vulnerabilities in database systems have historically been exploited to manipulate application behavior or corrupt data.
Severity & Metrics
- CVSS v3.1: HIGH (8.5)
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: Low
- User Interaction: None
- Scope: Changed
- Impact:
- Confidentiality: None
- Integrity: Low
- Availability: High
- Vector String:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:H
Relevant CWE:
- CWE-74 – Improper Neutralization of Special Elements in Output Used by a Downstream Component (‘Injection’)
Patch & Vendor Status
- The issue is fixed in Valkey versions 9.0.2, 8.1.6, 8.0.7, and 7.2.12 .
- The fix addresses the error handling code for Lua scripts to properly process null characters.
- All users are strongly advised to upgrade immediately to one of the patched versions.
Mitigation & Remediation
Immediate Actions
- Upgrade Valkey to version 7.2.12, 8.0.7, 8.1.6, or 9.0.2 (or later) based on your version branch .
- Restart all Valkey services after upgrading to apply the fix.
- Verify the upgrade by checking version information.
Temporary Compensating Controls (If Upgrade Is Delayed)
- Restrict network access to Valkey instances using firewalls or security groups.
- Limit scripting command execution to trusted users only.
- Monitor Lua script execution logs for suspicious activity.
- Implement connection isolation to prevent client cross-contamination.
- Consider disabling scripting functionality if not required.
These mitigations reduce exposure but do not eliminate the vulnerability without upgrading.
Detection & Hunting
Indicators of Potential Exploitation:
- Unexpected Lua script executions from unusual sources.
- Client responses containing unexpected data or formatting errors.
- Application-level errors related to data parsing from Valkey.
- Unusual patterns in response streams affecting multiple clients.
- Log entries showing Lua script errors with special character sequences.
Recommended Monitoring:
- Valkey logs for Lua script execution and errors.
- Network monitoring for unusual response patterns.
- Application logs for data integrity anomalies.
- Alerts for scripts containing null characters or escape sequences.
- Connection-level monitoring for client response corruption.
Post-Incident Response
If exploitation is suspected:
- Immediately isolate affected Valkey instances from untrusted networks.
- Preserve logs and configuration state for forensic analysis.
- Assess data integrity across affected client applications.
- Upgrade to the patched version immediately.
- Review all Lua scripts executed during the vulnerable period.
- Rotate any credentials or secrets that may have been exposed through corrupted responses.
Summary Table
| Category | Details |
|---|---|
| Vulnerability | RESP Protocol Injection (CWE-74) |
| Component | Lua script error handling |
| Attack Vector | Remote, authenticated scripting commands |
| Impact | Data corruption, integrity compromise, availability impact |
| Privileges Required | Low (scripting capability) |
| User Interaction | Not Required |
| Affected Versions | < 7.2.12, < 8.0.7, < 8.1.6, < 9.0.2 |
| Fixed Version | 7.2.12, 8.0.7, 8.1.6, 9.0.2 |
| Severity | High (CVSS 8.5) |
References
- NVD – CVE-2025-67733: https://nvd.nist.gov/vuln/detail/CVE-2025-67733
- CVE.org Record – CVE-2025-67733
- CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component (‘Injection’)
- Valkey Security Advisory
Tags: CVE-2025-67733, Valkey, Injection, CWE-74, High-Severity, Lua-Scripting, RESP-Protocol, Database-Security