欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

CVE-2019-3462: apt/apt-get 远程代码执行漏洞预警

来源:本站整理 作者:佚名 时间:2019-01-24 TAG: 我要投稿

0x00 漏洞背景
2019年1月22日 @Max Justicz 在其博客中公开了有关于 debian 系包管理器apt/apt-get 远程代码执行的一些细节。当通过 APT 进行任意软件的安装、更新等,默认会走 HTTP 而非 HTTPS,攻击者可以通过中间人劫持等手法劫持 HTTP 流量,并通过重定向及相关响应头的构造,完美构造合法的安装包签名,以此绕过 APT 本地签名的判断。攻击一旦触发,便可导致目标服务器的 root 权限被拿下。
360CERT 判断该漏洞危害严重,影响面有限。建议使用Debain系发行版的用户及时进行 apt 软件的更新或者对服务器进行流量自查。
 
0x01 漏洞详情
首先可以抓包观察到 apt 在进行软件包下载安装的时候的http流量格式如下:
102 Status
URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
Message: Connecting to prod.debian.map.fastly.net
102 Status
URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
Message: Connecting to prod.debian.map.fastly.net (2a04:4e42:8::204)
102 Status
URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
Message: Waiting for headers
200 URI Start
URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
Size: 20070
Last-Modified: Tue, 17 Jan 2017 18:05:21 +0000
201 URI Done
URI: http://deb.debian.org/debian/pool/main/c/cowsay/cowsay_3.03+dfsg2-3_all.deb
Filename: /var/cache/apt/archives/partial/cowsay_3.03+dfsg2-3_all.deb
Size: 20070
Last-Modified: Tue, 17 Jan 2017 18:05:21 +0000
MD5-Hash: 27967ddb76b2c394a0714480b7072ab3
MD5Sum-Hash: 27967ddb76b2c394a0714480b7072ab3
SHA256-Hash: 858d5116a60ba2acef9f30e08c057ab18b1bd6df5ca61c233b6b7492fbf6b831
Checksum-FileSize-Hash: 20070
可以发现 apt 使用了201响应header字段中的值作为校验标准。通过 apt/apt-get 在进行软件包安装的时候,HTTP提取器会对HTTP位置标头进行URL解码,并盲目地将其附加到103重定向响应中,进而导致漏洞产生。
// From methods/basehttp.cc
NextURI = DeQuoteString(Req.Location);
...
Redirect(NextURI);
// From apt-pkg/acquire-method.cc
void pkgAcqMethod::Redirect(const string &NewURI)
{
   std::cout "103 Redirect\nURI: " Uri "\n"
             "New-URI: " "\n"
          &nbs