CVE-2025-61724CVE-2025-61724是Go语言标准库中的一个拒绝服务漏洞。该漏洞存在于Reader.ReadResponse函数中,该函数在构造响应字符串时使用了重复的字符串连接操作。当处理包含大量行的响应时,这种字符串连接方式会导致过度CPU消耗,从而可能导致服务性能下降甚至拒绝服务。该漏洞影响所有使用受影响Reader.ReadResponse函数的Go应用程序,攻击者可以通过发送包含大量行的恶意响应来触发此漏洞,造成目标系统的资源耗尽。
该漏洞的根本原因在于Reader.ReadResponse函数使用了低效的字符串连接方式。在Go语言中,字符串是不可变的,每次字符串连接都会创建一个新的字符串对象。当响应包含大量行时(例如数千或数万行),每次添加新行都需要分配新内存并复制所有现有内容,导致时间复杂度为O(n²)。攻击者可以构造一个包含大量行的响应来触发此漏洞,导致CPU使用率急剧上升,影响系统可用性。攻击者需要诱骗目标应用程序读取其控制的响应数据,例如通过中间人攻击或操控数据源。修复方案是使用strings.Builder或bytes.Buffer等高效字符串构建方式来替代直接字符串连接。