发生了什么? 上周,在一篇名为 “Redis EVAL Lua 沙箱逃逸” 的文章中,安全研究人员 Ben Murphy 公布了已知 Lua 漏洞的详细信息,该漏洞可用于突破 Redis 的沙箱。Murphy 先生还慷慨地提供了解决此问题的补丁,该补丁随后被立即包含在 Redis v2.8.21 和 v3.0.2 的新版本 中,由 antirez(又名 Salvatore Sanfilippo)提供(如上周的 Redis Watch 时事通讯中所报道)。
这有多严重? 任何安全漏洞都是大事,虽然恶意人士确实可以利用漏洞进行破坏,但这需要相当高的技能才能做到。例如,参考此旨在攻击 Windows 32 位平台上的 Lua 5.1 的示例代码:https://gist.github.com/corsix/6575486。此外,漏洞本身只是攻击过程中的一步,攻击过程还涉及攻击受损系统的其他组件。底线是,虽然您应该采取措施保护您的 Redis 服务器免受此漏洞的攻击,但请记住,风险并不高。
如何保护自己? 您可采取多种措施保护 Redis 免受潜在黑客的攻击。以下是按重要性排序的步骤:
升级您的 Redis。开源 Redis 的新版本包含修复程序,因此如果您升级(如果您运行的是自己的 Redis)应该一切正常。RLEC 用户只需安装最新的软件更新即可将补丁应用到他们的数据库。我们还将补丁移植到了我们的云服务,因此新的数据库不受此漏洞的影响,我们正在将其在线应用到现有实例。
使用漏洞本身进行热补丁修复。 Ben Murphy 先生今天(2015 年 6 月 15 日)再次出人意料,发布了一个热补丁,该补丁利用他本人公开的漏洞来修复 Redis,从而解决此问题。由 antirez 设计,完整详情请访问: http://benmmurphy.github.io/blog/2015/06/09/redis-hot-patch/
快速、粗糙且极好的提示: 以下来自 geocar 的一个小技巧 – 将 QUIT
重命名为 POST
以解决 SSRF 威胁 <- 太棒了!
Redis 琐事: 据我所知,这是第一个在 MITRE 通用漏洞和披露目录中注册的 Redis 漏洞(CVE-2015-4335,出于某种原因不再可用,它也逃逸了吗?)以及 Debian 安全公告 (DSA-3279) 中,所以双重欢呼!还要注意,纯粹的巧合,DSA 为该漏洞分配的 ID 由以下公式给出:
我仍在努力破解 CVE ID 背后的逻辑……有什么建议?问题?反馈?发送电子邮件 或 在 Twitter 上私信我 – 我随时待命 🙂