Podatność use-after-free w silniku skryptów Lua umożliwia uwierzytelnionemu użytkownikowi zdalne wykonanie kodu (RCE) na serwerze Redis lub Valkey. Oceniona jako krytyczna (CVSS 9.9), dotyczy wszystkich wersji Redis z obsługą skryptów Lua.
▸ Pokaż oryginał (EN)
Redis is an open source, in-memory database that persists on disk. Versions 8.2.1 and below allow an authenticated user to use a specially crafted Lua script to manipulate the garbage collector, trigger a use-after-free and potentially lead to remote code execution. The problem exists in all versions of Redis with Lua scripting. This issue is fixed in version 8.2.2. To workaround this issue without patching the redis-server executable is to prevent users from executing Lua scripts. This can be done using ACL to restrict EVAL and EVALSHA commands.
Atakujący z dostępem do konta (nawet o niskich uprawnieniach) może wysłać specjalnie spreparowany skrypt Lua, który manipuluje działaniem garbage collectora. Wskutek tego dochodzi do błędu use-after-free (CWE-416) — odwołania do już zwolnionego obszaru pamięci. Prawidłowo przygotowany exploit może pozwolić na przejęcie kontroli nad przepływem wykonania procesu serwera i uruchomienie dowolnego kodu.
Atakujący może uzyskać zdalne wykonanie kodu (RCE) na serwerze bazy danych, potencjalnie przejmując pełną kontrolę nad hostem. Wyciek i modyfikacja przechowywanych danych są bezpośrednią konsekwencją udanego ataku.
Należy zaktualizować Redis do wersji 8.2.2, w której błąd został naprawiony. W przypadku braku możliwości natychmiastowego wgrania patcha można zastosować obejście: ograniczyć użytkownikom możliwość uruchamiania skryptów Lua poprzez listy ACL — zablokowanie komend EVAL i EVALSHA. Dla Valkey należy zastosować patche dostępne u producenta zgodnie z referencjami.
Redis w wersjach 8.2.1 i niższych (wszystkie wersje z włączoną obsługą skryptów Lua); Valkey (Lfprojects) — wersje wskazane w referencjach producenta
W referencjach dostępne jest publiczne repozytorium zawierające kod proof-of-concept (github.com/lastvocher/redis-CVE-2025-49844), co może przyspieszyć pojawienie się aktywnych prób eksploitacji. Podatność jest obecna we wszystkich wersjach Redis posiadających obsługę Lua scripting.
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HLfprojects Valkey
APPLfprojects< 7.2.118.0.0 – 8.0.6 (bez)8.1.0 – 8.1.4 (bez)Redis
APPRedis8.0.0 – 8.0.4 (bez)< 6.2.208.2.0 – 8.2.2 (bez)7.0 – 7.2.11 (bez)7.4.0 – 7.4.6 (bez)
Powiązane podatności
It was discovered, that redis, a persistent key-value database, due to a packaging issue, is prone to a (Debia...
Redis is an in-memory data structure store. In redis-server from 7.2.0 until 8.6.3, the unblock client flow do...
Redis is an in-memory data structure store. In versions of redis-server up to 8.6.3, the RESTORE command does ...
Valkey is a distributed key-value database. Prior to versions 9.0.2, 8.1.6, 8.0.7, and 7.2.12, a malicious use...
Valkey is a distributed key-value database. Prior to versions 9.0.2, 8.1.6, 8.0.7, and 7.2.12, a malicious act...