乍一看,让计算机脱机并不是什么大事,不过,倘若真的被有心之人利用该漏洞,那么,使用 Python 的用户难免会有一段糟心的体验。
具体的漏洞在于,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 而不仔细验证传递给它的输入的应用程序可能容易受到此漏洞的攻击,这将允许攻击者通过缓冲区溢出并使应用程序奔溃。”
同时红帽也针对自家的版本进行了安全版本说明:
虽然远程代码执行漏洞是一则坏消息, 不过,红帽官方指出这个漏洞带来的最大威胁是对系统可用性的威胁,这意味着攻击者可能只能发动拒绝服务攻击,简单来讲,就是让计算机停止提供服务。
不过,为了避免一些不必要的麻烦,还是呼吁大家尽快升级。