{"id":"CVE-2026-78661","sourceIdentifier":"security@golang.org","published":"2026-10-27T22:18:05.930","lastModified":"2026-10-28T15:24:56.033","vulnStatus":"Deferred","cveTags":[],"descriptions":[{"lang":"en","value":"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":[{"source":"security@golang.org","affectedData":[{"vendor":"golang.org/x/net","product":"golang.org/x/net/html","defaultStatus":"unaffected","collectionURL":"https://pkg.go.dev","packageName":"golang.org/x/net/html","programRoutines":[{"name":"parser.addText"},{"name":"parser.fosterParent"},{"name":"parser.parse"},{"name":"Parse"},{"name":"ParseFragment"},{"name":"ParseFragmentWithOptions"},{"name":"ParseWithOptions"}],"versions":[{"version":"0","lessThan":"0.62.0","versionType":"semver","status":"affected"}]}]}],"metrics":{},"references":[{"url":"https://go.dev/cl/849365","source":"security@golang.org"},{"url":"https://go.dev/issue/82224","source":"security@golang.org"},{"url":"https://groups.google.com/g/golang-announce/c/sqrs2vTx_Xs","source":"security@golang.org"},{"url":"https://pkg.go.dev/vuln/GO-2026-6860","source":"security@golang.org"}]}