dnsmasq 中的漏洞允许 DNS 缓存投毒和执行 root 代码

Dnsmasq 软件包中发现了六个漏洞,该软件包集成了缓存 DNS 解析器、DHCP 服务器、IPv6 路由公告服务和网络启动系统。这些漏洞允许攻击者执行 root 代码、重定向域名、发现进程内存以及导致服务崩溃。这些问题已在 dnsmasq 2.92rel2 版本中修复,修复程序也以补丁的形式提供。

发现的问题:

  • CVE-2026-4892 是 DHCPv6 实现中的一个缓冲区溢出漏洞,攻击者可以利用该漏洞通过发送精心构造的 DHCPv6 数据包,在本地网络访问权限下执行具有 root 权限的代码。溢出的原因是,DHCPv6 CLID 被写入缓冲区时,没有考虑到数据包以十六进制表示法存储数据,而十六进制表示法中每个实际 CLID 字节需要三个“%xx”字节(例如,存储一个 1000 字节的 CLID 将导致写入 3000 字节)。
  • CVE-2026-2291 - extract_name() 函数中的缓冲区溢出漏洞允许攻击者向 DNS 缓存中插入虚假条目并导致重定向。 领域 重定向到另一个 IP 地址。溢出是由于 dnsmasq 在分配缓冲区时,没有考虑到域名内部表示中某些字符的转义而导致的。
  • CVE-2026-4893 是一个信息泄露漏洞,攻击者可以通过发送包含客户端子网信息(RFC 7871)的特制 DNS 数据包来绕过 DNS 验证。该漏洞可用于重定向 DNS 响应,并将用户重定向到攻击者的域。该漏洞的原因是,攻击者将 OPT 记录长度而非数据包长度传递给了 `check_source()` 函数,导致该函数始终返回验证成功的结果。
  • CVE-2026-4891 - DNSSEC 验证中的越界读取漏洞导致在处理特制 DNS 查询时响应中出现内存泄漏。
  • CVE-2026-4890 – DNSSEC 验证循环可能导致通过特制 DNS 数据包拒绝服务。
  • CVE-2026-5172 - extract_addresses() 函数中的越界读取导致在处理特制 DNS 响应时崩溃。

可以在以下页面上评估发行版中漏洞修复的状态(如果页面不可用,则表示发行版开发人员尚未开始解决该问题): Debian, UbuntuSUSE、RHEL、Gentoo、Arch、Fedora、OpenWRT、FreeBSD。Dnsmasq 项目也参与了该平台。 Android 以及 OpenWrt 和 DD-WRT 等专用发行版,还有许多厂商的无线路由器固件中都内置了 Dnsmasq。在标准发行版中,如果使用 libvirt 提供 DNS 服务,则可以安装 Dnsmasq。 虚拟机 或在 NetworkManager 配置器中激活。

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster