golang.org/x/tools/gopls: Binding to an Unrestricted IP Address
CVE-2026-42503 is a high-severity binding to an unrestricted IP address vulnerability in golang.org/x/tools/gopls from Golang.org/x/tools, with a CVSS 3.1 base score of 8.8 out of 10. It can be exploited from the same local network by an unauthenticated attacker, without any action from a user. The record lists version 0.22.0 as the first without the flaw, so updating golang.org/x/tools/gopls to that release or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.21% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update golang.org/x/tools/gopls to 0.22.0 or a later version.
- Update Gopls to 0.22.0 or a later version.
- Read the advisory on go.dev for workarounds and exact fixed builds.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Golang.org/x/tools | golang.org/x/tools/gopls | before 0.22.0 | 0.22.0 |
| Go | Gopls | before 0.22.0 | 0.22.0 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- AdjacentThe attacker must be on the same local network segment.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by CISA (ADP).
Official description
gopls by default communicates via pipe. However, -port and -listen flags are supported as means of debugging. If -listen is given a value without an explicit host (e.g. :8080), or -port is used, gopls will listen on 0.0.0.0. As a result, users might inadvertently cause gopls to bind 0.0.0.0. This can allow a malicious party on the same network to execute code arbitrarily via gopls.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Binding to an Unrestricted IP Address
The product assigns the address 0.0.0.0 for a database server, a cloud service/instance, or any computing resource that communicates remotely.
How developers prevent this class of flaw
- Assign IP addresses that are not 0.0.0.0.
- Unwanted connections to the configured server may be denied through a firewall or other packet filtering measures.
More Binding to an Unrestricted IP Address vulnerabilities (CWE-1327)
Timeline
- CVE record published.
- CISA published its SSVC assessment (exploitation: none, automatable: no, technical impact: total).
- Record last changed materially (score, affected products, status or references).
References
Advisories
- go.dev/issue/79211Issue Tracking
Patches and release notes
Recent Binding to an Unrestricted IP Address vulnerabilities
- 9.8 Critical severity
- 9.1 Critical severity
- 10.0 Critical severity
- 7.5 High severity
Spotted an error? Tell us.