1. 远程命令行注入漏洞(如CVE-2018-1111)
这是dhclient最严重的安全风险之一。漏洞源于dhclient软件包中NetworkManager集成脚本的处理缺陷,攻击者可伪装成合法DHCP服务器,发送包含恶意命令的特制DHCP响应包(如通过dhcp-option字段注入nc -e /bin/bash等命令)。当dhclient处理这些响应时,脚本会直接执行恶意命令,导致攻击者在目标系统上以root权限获取完全控制权。该漏洞影响Red Hat Enterprise Linux 6/7、CentOS 6/7及Fedora等衍生版本,一旦被利用,攻击者可横向移动至容器主机或其他系统,造成数据泄露、服务中断等严重后果。
2. 依赖动态链接库的脆弱性
dhclient依赖libdns-export.so.100等多个动态链接库,若这些库缺失、版本过旧或被篡改,会导致网络配置失败,甚至被攻击者替换为恶意库。例如,攻击者可通过替换动态库,在dhclient启动或运行时注入恶意代码,窃取网络凭证、监控流量或破坏系统稳定性。这种依赖关系增加了攻击面,尤其是在未严格校验库文件完整性的环境中。
3. 配置不当引发的安全风险
不合理的dhclient配置可能导致多种安全问题:
lease-time选项限制DHCP租约有效期(如设置为无限期),攻击者可获得长期有效的IP地址和网络配置,便于持续进行攻击(如ARP欺骗、端口扫描);supersede domain-name-servers指定可信DNS),易遭受DNS欺骗攻击,导致用户被导向恶意网站;request-interval选项限制请求频率,可能被攻击者利用发起拒绝服务(DoS)攻击,耗尽服务器资源。4. 缺乏强身份验证与加密
默认情况下,dhclient与DHCP服务器之间的通信未启用强身份验证机制,攻击者可伪装成合法DHCP服务器(如通过ARP欺骗),发送虚假网络配置信息(如错误的网关、DNS服务器),导致客户端连接到恶意网络。此外,DHCP协议本身未加密,通信内容(如IP地址、主机名)易被窃听,增加信息泄露风险。虽然dhclient支持密钥认证(如key选项)和IPsec加密,但需手动配置,很多系统未启用这些功能。