CVE-2026-42501该漏洞存在于Go命令对模块校验和的验证逻辑中。当用户配置了不受信任的模块代理(GOMODPROXY)时,攻击者可利用该漏洞绕过校验和数据库(GOSUMDB)的验证。具体而言,当Go命令下载并执行由代理提供的工具链时,若校验和数据库返回成功但不包含条目的响应,Go命令会错误地允许验证通过,导致用户执行被篡改的工具链,从而遭受供应链攻击。
Go命令在验证模块时,若go.sum中无记录,会查询校验和数据库。正常流程是比对数据库返回的哈希与下载文件的哈希。然而,Go命令存在逻辑缺陷:当校验和数据库返回HTTP 200成功响应,但响应体中未包含该模块的校验条目时,Go命令未将其视为错误,反而默认验证通过。恶意代理可以利用这一点,通过镜像校验和数据库的请求,拦截工具链下载请求并返回篡改后的二进制文件。同时,对于校验和查询请求,代理返回一个空的或无关的成功响应。由于Go命令信任该响应结构,它将直接使用下载的恶意工具链,导致校验和验证机制被完全绕过。这在使用GOTOOLCHAIN自动切换工具链或go.work文件时尤为危险。