What’s Vulnerable › Vulnerabilities
CVE-2026-78661: Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net
- Severity: unknown
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.2% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-27 · updated 2026-10-28
Description
When coalescing adjacent text nodes in addText and fosterParent, appending to an existing TextNode's Data via string concatenation (n.Data += text) reallocated and copied the accumulated string on every token. Inputs containing many short text runs separated by ignored end tags (such as "a</x>") caused O(n^2) allocations and byte copies. Accumulate coalesced text in per-node byte slices during parsing and materialize Data strings once at the end of parse.
Affected products
- Golang.Org/X/Net: before 0.62.0 — fixed in 0.62.0
- golang.org/x/net/html: before 0.62.0 — fixed in 0.62.0
How to fix
Upgrade to a fixed version: Golang.Org/X/Net 0.62.0; golang.org/x/net/html 0.62.0. Check the vendor advisory for mitigations.
References
- https://go.dev/cl/849365
- https://go.dev/issue/82224
- https://groups.google.com/g/golang-announce/c/sqrs2vTx_Xs
- https://pkg.go.dev/vuln/GO-2026-6860
Get alerted when CVE-2026-78661 or the next vulnerability affects your stack