CVE-2026-27853CVE-2026-27853是DNSdist中发现的一个安全漏洞。攻击者可以通过发送特制的DNS响应数据包来利用此漏洞。当DNSdist在自定义Lua代码中调用`DNSQuestion:changeName`或`DNSResponse:changeName`方法处理这些恶意数据包时,重写后的数据包大小可能超过65535字节的限制。由于缺乏适当的边界检查,这会触发越界写入漏洞,导致服务崩溃。该漏洞无需认证且无需用户交互即可被利用,主要威胁服务的可用性。
该漏洞的核心问题在于DNSdist处理DNS数据包名称变更时的边界条件校验存在缺陷。DNSdist允许管理员编写自定义Lua脚本来动态修改传入或传出的DNS查询与响应,主要通过`DNSQuestion:changeName`或`DNSResponse:changeName`这两个Lua API实现。在正常情况下,这些方法会修改数据包中的域名部分。然而,当攻击者发送经过精心构造的DNS响应数据包,且该数据包在经过上述Lua方法重写后,其总长度可能显著增加,甚至超过DNS协议规定的最大报文长度(65535字节)或程序内部分配的缓冲区大小。由于相关代码逻辑中缺乏对重写后数据包大小的严格验证,程序会继续执行写入操作,导致发生越界内存写入。这种内存破坏行为通常会覆盖堆栈或堆中的关键数据结构,引发段错误或未定义行为,最终导致DNSdist服务进程意外终止。攻击者无需进行身份认证,也无需诱导用户交互,仅需通过网络发送恶意数据包即可触发漏洞,导致DNS解析服务中断。