CVE-2022-0543 - Redis Lua 沙箱逃逸远程代码执行(Debian/Ubuntu)
CVE-2022-0543 是一个影响基于 Debian 的 Linux 发行版(包括 Debian 和 Ubuntu)上 Redis 的严重安全漏洞。它由打包缺陷导致,可造成 Lua 沙箱逃逸,从而在受影响系统上实现远程代码执行 (RCE)。
上游 Redis 本身并不存在此漏洞——该问题特定于某些 Linux 发行版打包 Redis 和 Lua 的方式。
严重性
- 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 交互(网络访问)
- 能够向 Redis 执行或注入 Lua 脚本
- 在某些配置不当的部署中无需身份验证
缓解措施
推荐修复
- 从官方安全仓库更新 Redis 软件包:
- Debian 安全公告:DSA-5081
- Ubuntu 安全更新(已在补丁版本中修复)
立即行动
- 将 Redis 升级到已修补版本
- 将 Redis 访问限制为仅限可信网络
- 如果不需要外部访问,将 Redis 绑定到 localhost
- 启用身份验证(
requirepass)
- 如果不需要,禁用 Lua 脚本功能
检测提示
留意以下迹象:
- 暴露于公共网络的 Redis 实例
- Debian/Ubuntu 上过时的 Redis 版本
- Redis 进程出现意外的系统调用
- Redis 日志中出现的 Lua 脚本执行模式
参考
摘要
CVE-2022-0543 是一个由 Debian 打包问题引发的严重 Redis 漏洞,可实现 Lua 沙箱逃逸,进而导致完全远程代码执行。该漏洞在漏洞数据库中被积极跟踪,受影响系统应立即打补丁。
免责声明
本文档包含关于 CVE-2022-0543 的高级技术信息,仅供教育和防御性安全目的使用。
该漏洞的公开概念验证(PoC)利用代码已存在,并在安全研究和渗透测试社区中流传。这些 PoC 实现展示了在易受攻击环境中特定条件下如何实现 Lua 沙箱逃逸。
但是,在本仓库中包含或讨论此类利用材料严格用于理解攻击机制、提升防御性安全态势以及确保正确修补和缓解。并非旨在促进未经授权的访问、系统利用或任何形式的恶意活动。
强烈建议用户仅在受控且获得授权的实验室环境中测试漏洞,并确保所有系统均已正确修补和保护。