Изследователи от компания Wiz откриха уязвимост (CVE-2025-49844) в СУБД Redis, която позволява отдалечено изпълнение на код (RCE) на сървъра. Проблемът е оценен с най-висок риск (CVSS оценка 10 от 10), като за експлоатирането на уязвимостта атакуващият трябва да има възможност да изпраща заявки към СУБД Redis, допускаща изпълнение на потребителски Lua-скриптове.
Освен публично достъпните инстанции на Redis, които предоставят достъп без автентикация, уязвимостта позволява компрометиране на облачни системи и хостинг платформи, поддържащи услуги за работа с Redis. Според компанията Wiz, сканирането на мрежата е открило около 330 хиляди Redis-сървъра, които приемат връзки, от които около 60 хиляди приемат заявки без автентикация. Официалният Docker-образ предоставен от проекта Redis е конфигуриран за достъп без автентикация по подразбиране.
Уязвимостта е причинена от достъп до вече освободена памет (use-after-free), проявяваща се при манипулация на сборщика на боклук чрез специално оформен Lua-скрипт. Проблемът позволява заобикаляне на sandbox-изолацията на Lua-средата в Redis и изпълнение на код в основната система с правата на потребителя, под което се изпълнява СУБД-то. Интересно е, че грешката е останала незабелязана в продължение на 13 години. Изследователите, открили проблема, демонстрираха работещ експлоит, но детайлите за експлоатацията все още не са разкрити, за да се даде време за инсталиране на обновления.
Уязвимостта също се проявява в проекта Valkey, разработващ fork на Redis, доставян в повечето Linux дистрибуции, включително RedHat Enterprise Linux 10. Уязвимостта е отстранена в версиите Redis 8.2.2, 8.0.4, 7.4.6, 7.2.11 и 6.2.20, а също и в Valkey 8.1.4, 8.0.6 и 7.2.11. Състоянието на новата версия на пакета или на подготовката на корекцията в дистрибуциите може да се провери на следните страници: Debian, Ubuntu, Fedora, SUSE/openSUSE, RHEL, Gentoo, Arch, FreeBSD, OpenBSD и NetBSD. Като обходен метод за защита в СУБД може да се деактивира изпълнението на Lua-скриптове, забранявайки командите EVAL и EVALSHA чрез ACL.
Допълнително може да се отбележат още три уязвимости, експлоатирани чрез Lua-скриптове и отстранени в последните версии на Redis и Valkey. За обходна защита от тези уязвимости чрез ACL може да се забрани семейството команди EVAL и FUNCTION.
- CVE-2025-46817 — цялочислено препълване в библиотечните Lua-функции, което потенциално позволява изпълнение на собствен код на страната на потребителя. сървър при стартиране на специално форматирани Lua-скриптове.
- CVE-2025-46819 — грешка, водеща до четене на данни извън границите на буфера при изпълнение на специално форматиран Lua-скрипт. Уязвимостта може да се използва за аварийно спиране на сървърния процес Redis.
- CVE-2025-46818 — възможност за изпълнение на команди в контекста на друг потребител на СУБД при манипулация на LUA-обекти от специално форматиран Lua-скрипт.
Източник: opennet.ru
