关于Python官方紧急修复两个漏洞的安全公告

时间:2021-03-01作者:动态浏览次数:543

一、情况分析

Python软件基金会(PSF)近日紧急推出Python 3.9.2和3.8.8稳定版,解决两个严重的安全缺陷,分别为CVE-2021-3177和CVE-2021-23336。PSF指出,CVE-2021-23336为web缓存投毒漏洞,CVE-2021-3177被列为“远程代码执行”漏洞,但这类漏洞遭利用的可能性非常小,因为要实现成功的远程代码执行,必须满足如下条件:

1、远程一方将不受信任的浮点数传递给ctypes.c_double.from_param(注:Python浮点数不受影响)。

2、将该对象传递给repr()(例如通过logging)。

3、使该浮点数成为有效的机器代码。

4、使该缓冲区溢出漏洞在执行代码的地方覆写栈。

而Red Hat评估该漏洞认为“最大的威胁是系统可用性”。当然,通过恶意输入造成拒绝服务也是非常严重的问题。

二、影响范围

CVE-2021-23336受影响的产品包括:从Python 3.x到3.9.1。

CVE-2021-23336受影响的产品包括:从0到3.6.13之前,从3.7.0到3.7.10之前,从3.8.0到3.8.8之前,从3.9.0到3.9.2之前。

三、处置建议

Python软件基金会(PSF)推出的Python 3.9.2和3.8.8稳定版,解决了以上两个严重的安全缺陷。在计算ctypes.c_double和ctypes.c_longdouble值的repr时避免静态缓冲区,修复CVE-2021-3177;将查询参数分隔符默认设置为&,并允许用户选择自定义分隔符,修复web缓存投毒漏洞(CVE-2021-23336)。