近日,Python 软件基金会(PSF)释出 Python 3.8.8 和 3.9.2 版本,该版本主要修复了两个值得注意的安全漏洞,其中一个名为“CVE-2021-3177”的漏洞容易被攻击者远程利用,基于代码执行可让计算机脱机。
乍一看,让计算机脱机并不是什么大事,不过,倘若真的被有心之人利用该漏洞,那么,使用 Python 的用户难免会有一段糟心的体验。
对此,在 Python 3.8.8 和或 3.9.2 RC 版本刚刚发布三天之后,在部分用户对安全漏洞担忧的压力下,新版 Python 加快了发布的进程。同时,PSF 敦促 Python 用户尽快将系统升级到 Python 3.8.8 或 3.9.2,特别是需要解决被跟踪为 CVE-2021-3177 的远程代码执行(RCE)漏洞。
Python 发布团队表示:"自从宣布 Python 3.8.8 和 3.9.2 RC 版本发布以来,我们收到了来自终端用户的一些关于 CVE-2021-3177 安全方面的询问,并敦促我们加快最终版本的发布。”
具体的漏洞在于,Python 3.x 到 3.9.1 的 ctypes/callproc.c 中 PyCArg_repr 具有缓冲溢出,这可能导致远程代码执行。
它也会影响到 "接受浮点数作为不信任的输入的 Python 应用程序,如 c_double. param 的 1e300 参数所示。
该 Bug 的发生是因为不安全地使用了"sprintf"。影响之所以广泛,因为 Python 已预装安装到了多个 Linux 发行版和 Windows 10 系统中。
当前,各种 Linux 发行版(如 Debian)已经向后移植了安全补丁,以确保屏蔽内置版本的 Python。
RedHat 也发布公告表示,该漏洞是常见的内存缺陷。“在 Python 内提供的 ctypes 模块中发现了基于堆栈的缓冲区溢出。使用 ctypes 而不仔细验证传递给它的输入的应用程序可能容易受到此漏洞的攻击,这将允许攻击者通过缓冲区溢出并使应用程序奔溃。”
同时红帽也针对自家的版本进行了安全版本说明:
虽然远程代码执行漏洞是一则坏消息,不过,红帽官方指出这个漏洞带来的最大威胁是对系统可用性的威胁,这意味着攻击者可能只能发动拒绝服务攻击,简单来讲,就是让计算机停止提供服务。
不过,为了避免一些不必要的麻烦,还是呼吁大家尽快升级。
- Python 新版下载地址:https://www.python.org/downloads/