Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net (golang.org/x/net golang.org/x/net/html)

CVE-2026-78661
Not available

At a glance

Source
NVD
EPSS
EPSS 0.18 % · percentile 8 ()
State
PUBLISHED
Published
Updated
Assigner
Go
NVD status
Deferred

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.

References

Advisories

European references

Affected products

ProductVersions
golang.org/x/net · golang.org/x/net/htmlaffected 0 < 0.62.0

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD