Redis CVE-2024-31449:如何重现和缓解漏洞

admin 2024年11月18日23:11:36评论1,038 views字数 993阅读3分18秒阅读模式

Redis CVE-2024-31449:如何重现和缓解漏洞

2024 年 10 月 7 日,Redis 中一个严重漏洞(编号为CVE-2024-31449)的信息被公开。该漏洞允许经过身份验证的用户使用特制的 Lua 脚本执行远程代码,对使用 Redis 的系统的安全构成重大威胁。

CVE-2024-31449 是什么?

Redis 自带 Lua 解释器,支持执行用户脚本。CVE-2024-31449 漏洞与bit.tohexLua 库中的函数有关。攻击者可使用特制的 Lua 脚本触发库中的堆栈缓冲区溢出bit,从而可能导致 Redis 服务器上执行任意代码。

需要注意的是,利用此漏洞执行的任何命令都将在拥有 Redis 进程的用户和组下运行。这可以为攻击者提供相当高级别的系统访问权限。

如何重现漏洞(PoC)

为了演示此漏洞,您可以使用特制的 Lua 脚本,bit.tohex使用特定参数调用该函数。此类脚本的一个示例是通过以下方式执行命令redis-cli

redis-cli eval "return bit.tohex(65535, -2147483648)" 0

重现步骤:

  1. 使用redis-cli或其他支持执行 Lua 脚本的客户端连接到您的 Redis 服务器。

  2. bit.tohex执行调用具有大值或负值的函数的Lua脚本:

redis-cli eval "return bit.tohex(65535, -2147483648)" 0

Redis CVE-2024-31449:如何重现和缓解漏洞

Redis CVE-2024-31449:如何重现和缓解漏洞

3.观察服务器行为。成功利用此漏洞后,服务器可能会:

  • 返回不正确的结果或错误。

  • 使 Redis 服务器崩溃。

  • 可能执行任意代码。

重要提示:此示例仅用于教育目的,不应在生产环境中使用。执行此脚本可能会导致 Redis 服务器不稳定或受到损害。

谁有风险?

所有版本的 Redis 社区版 (CE)、Redis 开源版 (OSS) 和 Redis Stack 都容易受到此漏洞的影响。如果您的 Redis 实例可供经过身份验证的用户访问,尤其是当对 Lua 脚本的访问不受限制时,您就会面临风险。

4.将 Redis 更新到最新版本

  • 对于 Redis OSS/CE/Stack:更新到以下版本:

  • OSS/CE:7.4.1、7.2.6 或 6.2.16

  • 堆栈:7.4.0-v1、7.2.0-v13 或 6.2.6-v17

  • 对于 Redis Enterprise(软件):更新到以下版本:

  • 7.4.2-169 及以上

  • 7.2.4-109 及以上

  • 6.4.2-110 及以上

原文始发于微信公众号(Ots安全):Redis CVE-2024-31449:如何重现和缓解漏洞

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

发表评论

匿名网友 填写信息