研究人员 Max Justicz 日前发现了知名 Linux 包管理器 apt/apt-get 中的远程代码执行漏洞,该漏洞允许外部进行中间人攻击并获取 root 权限以执行任何代码。该漏洞已在最新版本 apt 修复,如果担心在升级过程中遭到攻击,可以使用以下代码关闭 HTTP 重定向功能进行安全升级:
该漏洞代号为 CVE-2019-3462,其原因是 apt 中默认使用 HTTP 进行通信,而其 transport 方法中处理 HTTP 重定向的代码未能正确审查传输的字段。攻击者通过中间人攻击劫持后,使用伪造签名骗过该检查,即可在用户主机上安装攻击者安排的任意程序,并因为 apt 已经获取 root 权限,该恶意程序可在 root 权限下执行。详细情况及演示可以阅读 Max Justicz 的博文。
如今,HTTPS 早已普及,甚至如谷歌、苹果等平台强制要求开发者使用 HTTPS,但 apt 因为其安装包有签名机制,在此前我们认为安装包是无法伪造的,因此并没有默认启用 HTTPS,甚至专门有人建了一个网站来论证为什么 apt 不需要使用 HTTPS。不过,Max 指出,早在 16 年就有类似的漏洞爆出,虽然 HTTPS 也并不能解决恶意镜像源的问题,但 HTTP 暴露的攻击面要广得多。
此漏洞影响范围极为广泛,所有使用 apt 老版本的主机都暴露在攻击之下,特别是将 apt 作为默认包管理器的 Ubuntu,从 14.04 LTS 到最新的 18.10 版本均受到影响。
两个使用 apt 最多的 Linux 发行版 Ubuntu 和 Debian 已分别发布安全公告(Ubuntu公告、Debian公告),督促用户升级。
评论