
إثبات مفهوم لاستغلال CVE-2025-46819، وهو قراءة خارج الحدود لمحدد السلسلة الطويلة في Lua الخاصة بـ Redis، مما يوضح تعطلاً عبر إدخال غير صالح.
محدد سلسلة طويلة غير صالح يسبب قراءة خارج الحدود في محلل Lua على Redis 8.2.1.
محلل السلاسل الطويلة في Lua على Redis 8.2.1 يتعامل بشكل غير صحيح مع تسلسلات [=... غير الصالحة، مما يعيد قيمًا مرسلة تؤدي إلى تجاوز سعة المخزن المؤقت أو استدعاءات متكررة مفرطة. يمكن للمهاجمين جعل Redis يقرأ خارج الحدود أو يتسبب في تجاوز سعة مكدس C.
redis-cliCVE-2025-46819.lua – ينشئ محددًا ضخمًا غير صالح ويغذيه إلى loadstring.redis-cli -h localhost -p 6379 --eval CVE-2025-46819.lua
النتيجة المتوقعة:
على الإصدارات الضعيفة سترى عادةً "ERR C stack overflow" أو انهيارًا فوريًا. Redis 8.2.2 (الالتزام 3a1624da2449ac3dbfc4bdaed43adf77a0b7bfba) يرفض السكربت برسالة "invalid long string delimiter" دون زعزعة استقرار الخادم.
قم بالترقية إلى Redis 8.2.2 أو أحدث، أو عطّل Lua للمستخدمين غير الموثوقين.