K3ysTr0K3R/CVE-2022-0543
GitHub: K3ysTr0K3R/CVE-2022-0543
针对 CVE-2022-0543 Redis Lua 沙盒逃逸远程代码执行漏洞的概念验证(PoC)项目,复现并验证该漏洞的利用过程。
Stars: 0 | Forks: 0
# CVE-2022-0543 - Redis Lua 沙盒逃逸远程代码执行 (Debian/Ubuntu)
**CVE-2022-0543** 是一个严重的安全漏洞,影响运行在 **基于 Debian 的 Linux 发行版**(包括 Debian 和 Ubuntu)上的 Redis。它是由于打包缺陷导致 **Lua 沙盒逃逸**引起的,可能导致受影响系统上的 **远程代码执行 (RCE)**。
## 严重程度
- **CVSS 评分:** 10.0 (严重)
- **攻击向量:** 网络
- **攻击复杂度:** 低
- **所需权限:** 无
- **用户交互:** 无
- **影响:** 机密性、完整性和可用性受到全面破坏
## 技术描述
Redis 支持 Lua 脚本以在服务器端执行脚本。在受影响的 Debian/Ubuntu 软件包中,Lua 的动态链接方式破坏了其预期的沙盒模型。
这种配置错误允许攻击者:
- 逃逸出 Lua 沙盒
- 访问受限的系统功能
- 执行任意系统命令
- 有可能获得运行 Redis 的主机的完全控制权
根本原因在于**打包方式的差异**:
- 上游 Redis:Lua 是静态链接的(更安全的沙盒隔离)
- Debian/Ubuntu Redis:Lua 是动态链接的(在此场景下不安全)
## 受影响系统
- Debian Linux(特定的 Redis 软件包)
- Ubuntu Linux(修复版本之前的受影响版本)
- 使用存在漏洞的 Debian 打包方式构建的 Redis 软件包
## 影响
如果被成功利用,攻击者可以:
- 在服务器上执行任意代码
- 窃取存储在 Redis 中的敏感数据
- 升级权限直至系统被全面攻陷
- 横向渗透到内部网络(如果 Redis 被暴露在外网)
## 利用条件
- 能够与 Redis 交互(网络访问权限)
- 能够执行或注入 Lua 脚本到 Redis 中
- 在某些配置不当的部署环境中无需身份验证
## 缓解措施
### 推荐修复方案
- 从官方安全仓库更新 Redis 软件包:
- Debian 安全公告:DSA-5081
- Ubuntu 安全更新(已在修复版本中解决)
### 立即执行的操作
- 将 Redis 升级到已修复的版本
- 限制 Redis 仅能由受信任的网络访问
- 如果不需要外部访问,将 Redis 绑定到 localhost
- 启用身份验证 (`requirepass`)
- 如果不需要,禁用 Lua 脚本功能
## 检测提示
留意以下情况:
- 暴露在公共网络上的 Redis 实例
- Debian/Ubuntu 上过时的 Redis 版本
- 来自 Redis 进程的意外系统调用
- Redis 日志中的 Lua 脚本执行特征
## 参考
- https://nvd.nist.gov/vuln/detail/CVE-2022-0543
- https://www.debian.org/security/2022/dsa-5081
- https://bugs.debian.org/1005787
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog
## 总结
CVE-2022-0543 是一个**由 Debian 打包问题引起的严重 Redis 漏洞**,它会导致 Lua 沙盒逃逸,进而可能引发全面的远程代码执行。该漏洞在漏洞数据库中被持续追踪,应立即在受影响的系统上打补丁。
## 免责声明
本文档包含有关 **CVE-2022-0543** 的高级技术信息,仅用于教育和防御性安全目的。
针对此漏洞的公开概念验证 (PoC) 漏洞利用代码已经存在,并在安全研究和渗透测试社区中流传。这些 PoC 实现演示了在存在漏洞的环境中的特定条件下,如何实现 Lua 沙盒逃逸。
然而,在本仓库中包含或讨论此类漏洞利用材料,**严格旨在为了解攻击机制、改善防御安全态势以及确保妥善的修补和缓解措施**。它**绝不旨在为任何未经授权的访问、系统利用或恶意活动提供便利**。
强烈建议用户仅在受控且经授权的实验室环境中测试漏洞,并确保所有系统均已妥善修补和安全防护。
标签:Cutter, PoC, Redis, rizin, XXE攻击, 安全, 搜索引擎查询, 暴力破解, 编程工具, 超时处理, 远程代码执行