CVE-2026-42503gopls 是 Go 语言的官方语言服务器协议实现。该漏洞源于 gopls 在使用 `-port` 或 `-listen` 标志进行调试时,若用户未明确指定主机地址(例如使用 `:8080`),服务会默认监听在 `0.0.0.0` 上。这意味着调试接口将暴露在所有网络接口上,而非仅限于本地回环地址。此配置缺陷允许同一网络中的恶意攻击者利用该接口,在未经身份验证的情况下远程执行任意代码,从而完全控制受影响的主机。
该漏洞的核心在于网络接口绑定的默认行为不安全。当 gopls 通过 `-port` 参数或 `-listen` 参数启动调试模式时,如果参数值中未包含显式的 IP 地址(例如仅指定端口号),底层的 Go 网络库会将套接字绑定到通配符地址 `0.0.0.0`(IPv4)和 `[::]`(IPv6)。这导致服务不仅监听本地 localhost,也监听局域网内的所有物理和虚拟网络接口。由于 gopls 作为开发工具通常拥有较高的运行权限,且调试接口可能缺乏严格的访问控制,攻击者只要能连接到该端口,便可以通过构造恶意的 LSP(Language Server Protocol)请求或利用调试接口的命令执行功能,在目标系统上执行任意系统指令,导致数据泄露、篡改或系统被完全接管。