Systemd漏洞可造成linux系统崩溃或被劫持(CVE-2018-15688)
存在该漏洞的Systemd易使得linux被攻击,最坏可能造成远程代码执行。
攻击者可以使用恶意制作的DHCPv6数据包触发该漏洞,修改易受攻击系统的部分内存,从而可能导致远程执行代码。
该漏洞被标记为CVE-2018-15688,谷歌安全团队的Felix Wilhelm报告了这个漏洞,Wilhelm解释到,通过宣传DHCPv6服务器与服务器的ID溢出可被攻击的一种简单的方法来触发> = 493个字符长。
“dhcp6_option_append_ia功能用于将服务器接收到的身份验证信息编码到传出的DHCPv6包的选项缓冲区中”Wilhelm说道。
“该函数接收指向选项缓冲区buf的指针,它标识缓冲区的剩余大小和要被加入内存的身份标识。虽然会通过检查(A)试图确保缓冲区有足够的空间来存储身份标识,但它不会检查DHCP6选项头的额外4个字节(B)。而memcpy函数在以上这种情况可引起出界造成溢出(D),从而使得攻击者可以很大程度上控制OOB堆(E)的读写。当DHCPv6服务器与服务器id长度大于493个字符的源头通信时,溢出可以相对容易被触发。”
该漏洞存在于几个Linux发行版(Ubuntu的,红帽,Debian的,Fedora的,CoreOS,Mint,和SUSE Linux Enterprise Server)的开源Systemd管理套件的DHCPv6客户端中。
如果启用了IPv6支持,则会自动激活开源Systemd管理套件的DHCPv6客户端以处理接受到的数据包。
专家指出,DHCPv6客户端可能会被网络上的DHCP服务器或ISP发送的特制路由器信息唤醒。在这两种情况下,攻击者都可以启用DHCPv6客户端并触发漏洞来引发崩溃或劫持基于Systemd的Linux计算机。
Ubuntu和Red Hat Linux都发布了关于该问题的安全建议。摘要:
Red Hat发布公告,“当处理相邻网络DHCP服务器发送数据包选项时,system-networkd很容易受到DHCPv6客户机中的越界堆写入的影响。攻击者可以通过恶意DHCP服务器利用此机制破坏客户机上的堆内存,从而导致拒绝服务或潜在的代码执行。”
Ubuntu发布公告,“Felix Wilhelm发现,当响应与过长的服务器ID参数DHCP6服务器时,systemd-NetworkD的DHCP6客户端可以进行写操作造成堆缓冲区边界溢出。”
Systemd的作者Leonard Poettering及时发布了一个安全修复程序。
原文链接:https://securityaffairs.co/wordpress/77470/hacking/systemd-security-flaw.html
最新评论