此漏洞仅影响通过 Debian / Ubuntu 软件包安装的 Redis。
因为 Redis 在编译时以动态模块(lua-cjson、lua-bitop)的方式加载 Lua 引擎,使得攻击者可以调用:
package.loadlib()
来加载系统 IO 函数并在宿主机上执行命令,从而造成 远程代码执行(Remote Code Execution, RCE)。
package.loadlib 的 Lua 引擎docker compose build
docker compose up -d
redis-cli -h localhost -p 6379 ping
PoC:
https://github.com/0x7eTeam/CVE-2022-0543
这是由不正确的 Lua 沙箱机制导致的 Debian 特有 Redis RCE。
Redis 的 Debian 软件包会动态加载 Lua 模块,从而暴露:
package.loadlib()
实现完全逃逸 → 执行宿主操作系统命令。
docker compose build
docker compose up -d
redis-cli -h localhost -p 6379 ping
PoC:
https://github.com/0x7eTeam/CVE-2022-0543