CVE-2026-40395Varnish Enterprise 6.0.16r12之前的版本存在工作区溢出漏洞。当vmod_headerplus模块处理包含过多头部字段的请求时,会尝试更新底层的req0对象。由于头部数量超出req0的工作区限制,导致溢出并触发守护进程panic。攻击者可利用此漏洞无需认证即可发起拒绝服务攻击,导致服务器崩溃。
漏洞的核心在于Varnish Enterprise的vmod_headerplus模块中headerplus.write_req0()函数的实现缺陷。该函数用于在VCL切换前更新底层的只读req0请求对象,特别是在Varnish Controller进行共享VCL部署时。由于缺乏对头部数量的严格校验,当经过修改的req对象包含的头部字段数量过多,超过了req0预分配的工作区大小限制时,调用write_req0()会直接引发工作区溢出。这种内存溢出会导致Varnish守护进程检测到严重错误并触发panic,从而强制终止服务。攻击者无需认证即可通过网络发送包含大量头部的特制请求触发此漏洞,导致目标服务不可用。