
Redis Lua unpack पूर्णांक अतिप्रवाह (CVE-2025-46817) के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो Redis 8.2.1 पर स्टैक ब्लो-अप और संभावित RCE का प्रदर्शन करता है।
unpack पूर्णांक अतिप्रवाह (संभावित RCE)Redis Lua unpack पूर्णांक अतिप्रवाह PoC जो 8.2.1 पर स्टैक विस्फोट और क्रैश का कारण बनता है।
Redis 8.2.1 Lua 5.1 के साथ आता है जिसमें unpack कार्यान्वयन हस्ताक्षरित पूर्णांकों का उपयोग करके परिणाम गणना करता है। सावधानीपूर्वक चुने गए प्रारंभ/अंत सूचकांक अंकगणित को लपेटते हैं, lua_checkstack को बायपास करते हैं, और Lua को अरबों परिणाम पुश करने के लिए मजबूर करते हैं। तालिका सूचकांक लपेटन के साथ संयुक्त, यह हीप मेमोरी को दूषित कर सकता है और RCE की ओर ले जा सकता है।
redis-cliCVE-2025-46817.lua – हस्ताक्षरित अंकगणित को अतिप्रवाहित करने वाली सीमा के साथ unpack को कॉल करता है।redis-cli -h localhost -p 6379 --eval CVE-2025-46817.lua
अपेक्षित परिणाम:
8.2.1 पर सर्वर आमतौर पर अत्यधिक स्टैक वृद्धि से कनेक्शन समाप्त कर देता है या क्रैश हो जाता है। Redis 8.2.2 (कमिट fc9abc775e308374f667fdf3e723ef4b7eb0e3ca) कॉल को "ERR Error running script (too many results to unpack)" के साथ अस्वीकार कर देता है।
Redis 8.2.2 या बाद के संस्करण में अपग्रेड करें, जो luaB_unpack और luaH_getnum को सख्त करता है, या अविश्वसनीय उपयोगकर्ताओं के लिए Lua स्क्रिप्टिंग अक्षम करें।