Linux报缓冲区溢出漏洞,恶意DNS响应就能实施远程攻击

研究人员在Linux Systemd中发现一个严重漏洞,当系统试图在攻击者控制的DNS服务上查询主机名时,特制的恶意DNS响应能远程使“systemd-resolved’”程序崩溃。大量DNS响应会溢出缓冲区,从而允许攻击者重写内存,执行远程代码。

Systemd是Linux操作系统常用的初始化系统和服务管理器。在Systemd 233版本中,一定量的DNS响应传至systemd-resolved 中的dns_packet_new,就会导致Systemd分配极小的缓冲区。

恶意DNS服务器可以借助特制的TCP有效载荷予以响应,并加以利用,诱骗systemd-resolved配置极小的缓冲区,继而在最后编写任何数据。

自2015年6月推出Systemd 223版本以来,这个漏洞一直存在,并存在于之后发布的版本中,包括今年3月推出的Systemd 233。

这个漏洞存在于Ubuntu 17.04和16.10、Debian Stretch(即Debian 9)、Buster(即10)和Sid(即Unstable)以及其它各个使用Systemd的其它Linux发行版上。

目前,该漏洞的安全补丁已经推出,建议用户和系统管理员尽快安装并更新Linux发行版。