CVE-2025-57785CVE-2025-57785是Hiawatha webserver版本11.7中发现的严重安全漏洞,存在于XSLT处理的`show_index`功能中。该漏洞属于内存损坏类漏洞,具体为双重释放(Double Free)问题。未经身份验证的远程攻击者可以通过网络触发此漏洞,导致堆内存损坏。虽然CVSS评分为6.5(中危),但漏洞的潜在影响包括数据破坏和任意代码执行,对服务器安全构成实质性威胁。攻击者无需任何认证凭证或用户交互即可发起攻击,这使得该漏洞在野外利用中具有较高的风险。由于Hiawatha是一款轻量级Web服务器,广泛部署于多种Linux发行版和企业环境中,此漏洞可能影响大量在线服务。
该漏洞位于Hiawatha webserver的XSLT处理模块中,具体在`show_index`函数的内存管理逻辑中。双重释放漏洞发生在内存被释放后,指针未被正确清空,导致同一内存块可能被释放两次。在XSLT处理过程中,当`show_index`函数处理特定的输入数据时,内存分配和释放的顺序出现问题。具体来说,当处理包含特殊构造的XSLT请求时,系统会分配内存用于存储索引数据,但在某些错误处理路径中,已分配的内存被释放后,对应的指针未被设置为NULL。随后在后续的清理操作中,同一指针再次被传递给free()函数,导致同一内存块被释放两次。这种内存损坏可能破坏堆的内部数据结构(如堆块元数据),引发未定义行为。攻击者可以通过精心构造的HTTP请求触发此漏洞,利用堆损坏实现代码执行。在某些条件下,攻击者可能控制被释放的内存内容,从而在内存重新分配时实现代码覆盖。漏洞存在于src/xslt.c文件的第675行附近,与索引生成功能相关。