Badacze z firmy Wiz wykryli w bazie danych Redis podatność (CVE-2025-49844), która pozwala na zdalne wykonanie kodu (RCE) na serwerze. Problem otrzymał najwyższy poziom zagrożenia (CVSS score 10 z 10), a aby wykorzystać tę podatność, atakujący musi mieć możliwość wysyłania żądań do bazy danych Redis, która dopuszcza wykonywanie skryptów Lua przez użytkowników.
Oprócz publicznie dostępnych instancji Redis, które umożliwiają dostęp bez uwierzytelnienia, podatność pozwala na skompromitowanie systemów chmurowych i platform hostingowych wspierających usługi związane z Redis. Według firmy Wiz skanowanie sieci ujawnili około 330 tysięcy serwerów Redis, które akceptują połączenia, z czego około 60 tysięcy przyjmuje żądania bez uwierzytelnienia. Oficjalny obraz kontenera Docker dostarczany przez projekt Redis jest skonfigurowany do dostępu bez uwierzytelnienia domyślnie.
Podatność spowodowana jest dostępem do już zwolnionej pamięci (use-after-free), co ujawnia się przy manipulacji zbieraczem śmieci w specjalnie przygotowanym skrypcie Lua. Problem ten pozwala na obejście izolacji sandboxowej środowiska Lua w Redis oraz wykonanie kodu w podstawowym systemie z uprawnieniami użytkownika, pod którym działa baza danych. Warto zauważyć, że błąd pozostawał niezauważony przez 13 lat. Badacze, którzy dostrzegli problem, zaprezentowali działający exploit, ale szczegóły dotyczące wykorzystywania nie zostały jeszcze ujawnione, aby dać czas na zainstalowanie poprawek.
Podatność występuje również w projekcie Valkey, rozwijającym fork Redis, dostarczanym w większości dystrybucji Linux, w tym RedHat Enterprise Linux 10. Podatność została usunięta w wydaniach Redis 8.2.2, 8.0.4, 7.4.6, 7.2.11 oraz 6.2.20, a także w Valkey 8.1.4, 8.0.6 i 7.2.11. Status nowej wersji pakietu lub przygotowania poprawki w dystrybucjach można sprawdzić na następujących stronach: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo, Arch, FreeBSD, OpenBSD i NetBSD. Jako obejście ochrony w bazie danych można wyłączyć wykonywanie skryptów Lua, zabraniając komend EVAL i EVALSHA za pomocą ACL.
Dodatkowo można wskazać jeszcze trzy podatności, które są wykorzystywane za pośrednictwem skryptów Lua i zostały usunięte w ostatnich wersjach Redis i Valkey. W celu ochrony przed tymi podatnościami poprzez ACL można zakazać rodzin komend EVAL i FUNCTION.
- CVE-2025-46817 — przepełnienie całkowitej liczby w funkcjach bibliotecznych Lua, potencjalnie umożliwiające wykonanie własnego kodu po stronie serwera. serwera przy uruchamianiu specjalnie przygotowanych skryptów Lua.
- CVE-2025-46819 — błąd prowadzący do odczytu danych z obszaru poza buforem podczas wykonywania specjalnie przygotowanego skryptu Lua. Ta luka może być wykorzystywana do awaryjnego zakończenia procesu serwera Redis.
- CVE-2025-46818 — możliwość wykonywania poleceń w kontekście innego użytkownika bazy danych podczas manipulacji obiektami LUA w specjalnie przygotowanym skrypcie Lua.
Źródło: opennet.ru
