Python 紧急修复漏洞,攻击者此前可远程代码执行漏洞

SegmentFault

共 1216字,需浏览 3分钟

 ·

2021-02-24 13:07


技术编辑:阿遂 Asui丨发自 思否编辑部




近日,Python 软件基金会 (PSF) 紧急推出 Python 3.9.2 和 3.8.8 稳定版,解决了两个严重的安全缺陷,其中一个从理论上攻击者可远程代码执行漏洞。


PSF 在最新的声明中表示:“自从发布 3.9.2 和 3.8.8 的候选版本以来,由于安全方面的原因,我们收到了大量终端用户的查询督促,要求我们加快最终稳定版本的发布速度。”




PSF 在声明中指出,发布候选版本中包含两个安全修复方案:CVE-2021-3177 和 CVE-2021-23336。


修复的漏洞具体的原因在于,Python 3.x 到 3.9.1 的 ctypes/callproc.c 中 PyCArg_repr 有缓冲溢出,这可能导致远程代码执行。它会影响“接受浮点数作为不受信任的输入的 Python 应用程序,如 c_double.from_param 的 1e300 参数所示”。


发生该错误是原因,是因为不安全地使用了“sprintf”。影响之所以广泛,是因为 Python 已将其预先安装到了多个 Linux 发行版和 Windows 10 当中。


但 PSF 也指出,虽然 CVE-2021-3177 被列为“远程代码执行”漏洞,但这类漏洞遭利用的可能性非常小,因为要实现成功的 RCE,必须满足如下条件:


  • 远程一方将不受信任的浮点数传递给 ctypes.c_double.from_param(注:Python 浮点数不受影响)
  • 将该对象传递给repr() (例如通过 logging)
  • 使该浮点数成为有效的机器代码
  • 使该缓冲区溢出漏洞在执行代码的地方覆写栈。

而 Red Hat 在评估该漏洞后,表示“最大的威胁是系统可用性”。

“可以肯定的是,通过恶意输入造成拒绝服务也是一个严重的问题。”出于这一原因。PSF 决定停止位漏洞修复版本提供发布候选版本。同时也为那些认为发布候选版本不够的社区成员发布了最终的 3.9.2 和 3.8.8 稳定版本。

部分参考资料来源:
  • 官方声明:
    https://blog.python.org/2021/02/python-392-and-388-are-now-available.html
  • Python 新版下载地址:
    https://www.python.org/downloads/
    https://www.zdnet.com/article/python-programming-language-hurries-out-update-to-tackle-remote-code-vulnerability/



- END -

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报