
Proof-of-concept exploit per CVE-2025-46819, una lettura fuori dai limiti del delimitatore di stringhe lunghe in Redis Lua, che dimostra un crash tramite input malformato.
Un delimitatore di stringhe lunghe malformato causa una lettura fuori dai limiti del lexer Lua su Redis 8.2.1.
Il parser di stringhe lunghe di Lua in Redis 8.2.1 gestisce erroneamente sequenze [=... malformate, restituendo valori sentinella che portano a underflow del buffer o a ricorsione eccessiva. Gli attaccanti possono causare a Redis di leggere fuori dai limiti o di far traboccare lo stack C.
redis-cliCVE-2025-46819.lua – costruisce un enorme delimitatore malformato e lo passa a loadstring.redis-cli -h localhost -p 6379 --eval CVE-2025-46819.lua
Risultato atteso:
Sulle versioni vulnerabili vedrai tipicamente "ERR C stack overflow" o un crash immediato. Redis 8.2.2 (commit 3a1624da2449ac3dbfc4bdaed43adf77a0b7bfba) rifiuta lo script con "invalid long string delimiter" senza destabilizzare il server.
Aggiorna a Redis 8.2.2 o successivo, oppure disabilita Lua per utenti non fidati.