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) 使该浮点数成为有效的机器代码 使该缓冲区溢出漏洞在执行代码的地方覆写栈。
部分参考资料来源:
官方声明: 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/
评论