golang.org/x/net
Activity
- Latest release
- 4d ago
- Total releases
- 58
- Cadence
- ~28 days
- Last 12 months
- 15
Details
- First release
- Oct 19, 2022
| Version | Released | |
|---|---|---|
v0.62.0
minor
|
v0.62.0
minor
Dependencies (4)
|
|
v0.61.0
minor
2 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev |
v0.61.0
minor
Dependencies (4)
|
|
v0.60.0
minor
2 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev |
v0.60.0
minor
Dependencies (4)
|
|
v0.59.0
minor
7 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.59.0
minor
Dependencies (4)
|
|
v0.58.0
minor
7 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.58.0
minor
Dependencies (4)
|
|
v0.57.0
minor
7 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.57.0
minor
Dependencies (4)
|
|
v0.56.0
minor
7 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.56.0
minor
Dependencies (4)
|
|
v0.55.0
minor
8 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev |
v0.55.0
minor
Dependencies (4)
|
|
v0.54.0
minor
14 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev |
v0.54.0
minor
Dependencies (4)
|
|
v0.53.0
minor
14 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev |
v0.53.0
minor
Dependencies (4)
|
|
v0.52.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.52.0
minor
Dependencies (4)
|
|
v0.51.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.51.0
minor
Dependencies (4)
|
|
v0.50.0
minor
16 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-27141
GO-2026-4559
Feb 26, 2026
Sending certain HTTP/2 frames can cause a server to panic in golang.org/x/net Due to missing nil check, sending 0x0a-0x0f HTTP/2 frames will cause a running server to panic Fixed in
0.51.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.50.0
minor
Dependencies (4)
|
|
v0.49.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.49.0
minor
Dependencies (4)
|
|
v0.48.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.48.0
minor
Dependencies (4)
|
|
v0.47.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.47.0
minor
Dependencies (4)
|
|
v0.46.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.46.0
minor
Dependencies (4)
|
|
v0.45.0
minor
15 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev |
v0.45.0
minor
Dependencies (4)
|
|
v0.44.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.44.0
minor
Dependencies (4)
|
|
v0.43.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.43.0
minor
Dependencies (4)
|
|
v0.42.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.42.0
minor
Dependencies (4)
|
|
v0.41.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.41.0
minor
Dependencies (4)
|
|
v0.40.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.40.0
minor
Dependencies (4)
|
|
v0.39.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.39.0
minor
Dependencies (4)
|
|
v0.38.0
minor
17 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev |
v0.38.0
minor
Dependencies (4)
|
|
v0.37.0
minor
18 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.37.0
minor
Dependencies (4)
|
|
v0.35.0
minor
19 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.35.0
minor
Dependencies (4)
|
|
v0.34.0
minor
19 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.34.0
minor
Dependencies (4)
|
|
v0.33.0
minor
19 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.33.0
minor
Dependencies (4)
|
|
v0.32.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.32.0
minor
Dependencies (4)
|
|
v0.31.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.31.0
minor
Dependencies (4)
|
|
v0.30.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.30.0
minor
Dependencies (4)
|
|
v0.29.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.29.0
minor
Dependencies (4)
|
|
v0.28.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.28.0
minor
Dependencies (4)
|
|
v0.27.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.27.0
minor
Dependencies (4)
|
|
v0.25.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.25.0
minor
Dependencies (4)
|
|
v0.24.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.24.0
minor
Dependencies (4)
|
|
v0.23.0
minor
20 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev |
v0.23.0
minor
Dependencies (4)
|
|
v0.22.0
minor
21 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.22.0
minor
Dependencies (4)
|
|
v0.21.0
minor
21 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.21.0
minor
Dependencies (4)
|
|
v0.20.0
minor
21 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.20.0
minor
Dependencies (4)
|
|
v0.19.0
minor
21 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.19.0
minor
Dependencies (4)
|
|
v0.18.0
minor
21 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.18.0
minor
Dependencies (4)
|
|
v0.17.0
minor
21 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.17.0
minor
Dependencies (4)
|
|
v0.16.0
minor
23 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-39325
GHSA-4374-p667-p6c8
BIT-golang-2023-39325
GO-2023-2102
Oct 11, 2023
HTTP/2 rapid reset can cause excessive work in net/http
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-44487
GHSA-qppj-fm5r-hxr3
BIT-apisix-2023-44487
BIT-aspnet-core-2023-44487
BIT-contour-2023-44487
BIT-dotnet-2023-44487
BIT-dotnet-sdk-2023-44487
BIT-envoy-2023-44487
BIT-golang-2023-44487
BIT-jenkins-2023-44487
BIT-kong-2023-44487
BIT-nginx-2023-44487
BIT-nginx-gateway-2023-44487
BIT-node-2023-44487
BIT-node-min-2023-44487
BIT-solr-2023-44487
BIT-tomcat-2023-44487
BIT-varnish-2023-44487
Oct 10, 2023
HTTP/2 Stream Cancellation Attack
Medium
Network
Low
None
None
HTTP/2 Rapid reset attackThe HTTP/2 protocol allows clients to indicate to the server that a previous stream should be canceled by sending a RST_STREAM frame. The protocol does not require the client and server to coordinate the cancellation in any way, the client may do it unilaterally. The client may also assume that the cancellation will take effect immediately when the server receives the RST_STREAM frame, before any other data from that TCP connection is processed. Abuse of this feature is called a Rapid Reset attack because it relies on the ability for an endpoint to send a RST_STREAM frame immediately after sending a request frame, which makes the other endpoint start working and then rapidly resets the request. The request is canceled, but leaves the HTTP/2 connection open. The HTTP/2 Rapid Reset attack built on this capability is simple: The client opens a large number of streams at once as in the standard HTTP/2 attack, but rather than waiting for a response to each request stream from the server or proxy, the client cancels each request immediately. The ability to reset streams immediately allows each connection to have an indefinite number of requests in flight. By explicitly canceling the requests, the attacker never exceeds the limit on the number of concurrent open streams. The number of in-flight requests is no longer dependent on the round-trip time (RTT), but only on the available network bandwidth. In a typical HTTP/2 server implementation, the server will still have to do significant amounts of work for canceled requests, such as allocating new stream data structures, parsing the query and doing header decompression, and mapping the URL to a resource. For reverse proxy implementations, the request may be proxied to the backend server before the RST_STREAM frame is processed. The client on the other hand paid almost no costs for sending the requests. This creates an exploitable cost asymmetry between the server and the client. Multiple software artifacts implementing HTTP/2 are affected. This advisory was originally ingested from the swift-nio-http2 specific advisoryswift-nio-http2 is vulnerable to a denial-of-service vulnerability in which a malicious client can create and then reset a large number of HTTP/2 streams in a short period of time. This causes swift-nio-http2 to commit to a large amount of expensive work which it then throws away, including creating entirely new swift-nio-http2 1.28 contains a remediation for this issue that applies reset counter using a sliding window. This constrains the number of stream resets that may occur in a given window of time. Clients violating this limit will have their connections torn down. This allows clients to continue to cancel streams for legitimate reasons, while constraining malicious actors. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.16.0
minor
Dependencies (4)
|
|
v0.14.0
minor
23 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-39325
GHSA-4374-p667-p6c8
BIT-golang-2023-39325
GO-2023-2102
Oct 11, 2023
HTTP/2 rapid reset can cause excessive work in net/http
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-44487
GHSA-qppj-fm5r-hxr3
BIT-apisix-2023-44487
BIT-aspnet-core-2023-44487
BIT-contour-2023-44487
BIT-dotnet-2023-44487
BIT-dotnet-sdk-2023-44487
BIT-envoy-2023-44487
BIT-golang-2023-44487
BIT-jenkins-2023-44487
BIT-kong-2023-44487
BIT-nginx-2023-44487
BIT-nginx-gateway-2023-44487
BIT-node-2023-44487
BIT-node-min-2023-44487
BIT-solr-2023-44487
BIT-tomcat-2023-44487
BIT-varnish-2023-44487
Oct 10, 2023
HTTP/2 Stream Cancellation Attack
Medium
Network
Low
None
None
HTTP/2 Rapid reset attackThe HTTP/2 protocol allows clients to indicate to the server that a previous stream should be canceled by sending a RST_STREAM frame. The protocol does not require the client and server to coordinate the cancellation in any way, the client may do it unilaterally. The client may also assume that the cancellation will take effect immediately when the server receives the RST_STREAM frame, before any other data from that TCP connection is processed. Abuse of this feature is called a Rapid Reset attack because it relies on the ability for an endpoint to send a RST_STREAM frame immediately after sending a request frame, which makes the other endpoint start working and then rapidly resets the request. The request is canceled, but leaves the HTTP/2 connection open. The HTTP/2 Rapid Reset attack built on this capability is simple: The client opens a large number of streams at once as in the standard HTTP/2 attack, but rather than waiting for a response to each request stream from the server or proxy, the client cancels each request immediately. The ability to reset streams immediately allows each connection to have an indefinite number of requests in flight. By explicitly canceling the requests, the attacker never exceeds the limit on the number of concurrent open streams. The number of in-flight requests is no longer dependent on the round-trip time (RTT), but only on the available network bandwidth. In a typical HTTP/2 server implementation, the server will still have to do significant amounts of work for canceled requests, such as allocating new stream data structures, parsing the query and doing header decompression, and mapping the URL to a resource. For reverse proxy implementations, the request may be proxied to the backend server before the RST_STREAM frame is processed. The client on the other hand paid almost no costs for sending the requests. This creates an exploitable cost asymmetry between the server and the client. Multiple software artifacts implementing HTTP/2 are affected. This advisory was originally ingested from the swift-nio-http2 specific advisoryswift-nio-http2 is vulnerable to a denial-of-service vulnerability in which a malicious client can create and then reset a large number of HTTP/2 streams in a short period of time. This causes swift-nio-http2 to commit to a large amount of expensive work which it then throws away, including creating entirely new swift-nio-http2 1.28 contains a remediation for this issue that applies reset counter using a sliding window. This constrains the number of stream resets that may occur in a given window of time. Clients violating this limit will have their connections torn down. This allows clients to continue to cancel streams for legitimate reasons, while constraining malicious actors. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.14.0
minor
Dependencies (4)
|
|
v0.13.0
minor
23 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-39325
GHSA-4374-p667-p6c8
BIT-golang-2023-39325
GO-2023-2102
Oct 11, 2023
HTTP/2 rapid reset can cause excessive work in net/http
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-44487
GHSA-qppj-fm5r-hxr3
BIT-apisix-2023-44487
BIT-aspnet-core-2023-44487
BIT-contour-2023-44487
BIT-dotnet-2023-44487
BIT-dotnet-sdk-2023-44487
BIT-envoy-2023-44487
BIT-golang-2023-44487
BIT-jenkins-2023-44487
BIT-kong-2023-44487
BIT-nginx-2023-44487
BIT-nginx-gateway-2023-44487
BIT-node-2023-44487
BIT-node-min-2023-44487
BIT-solr-2023-44487
BIT-tomcat-2023-44487
BIT-varnish-2023-44487
Oct 10, 2023
HTTP/2 Stream Cancellation Attack
Medium
Network
Low
None
None
HTTP/2 Rapid reset attackThe HTTP/2 protocol allows clients to indicate to the server that a previous stream should be canceled by sending a RST_STREAM frame. The protocol does not require the client and server to coordinate the cancellation in any way, the client may do it unilaterally. The client may also assume that the cancellation will take effect immediately when the server receives the RST_STREAM frame, before any other data from that TCP connection is processed. Abuse of this feature is called a Rapid Reset attack because it relies on the ability for an endpoint to send a RST_STREAM frame immediately after sending a request frame, which makes the other endpoint start working and then rapidly resets the request. The request is canceled, but leaves the HTTP/2 connection open. The HTTP/2 Rapid Reset attack built on this capability is simple: The client opens a large number of streams at once as in the standard HTTP/2 attack, but rather than waiting for a response to each request stream from the server or proxy, the client cancels each request immediately. The ability to reset streams immediately allows each connection to have an indefinite number of requests in flight. By explicitly canceling the requests, the attacker never exceeds the limit on the number of concurrent open streams. The number of in-flight requests is no longer dependent on the round-trip time (RTT), but only on the available network bandwidth. In a typical HTTP/2 server implementation, the server will still have to do significant amounts of work for canceled requests, such as allocating new stream data structures, parsing the query and doing header decompression, and mapping the URL to a resource. For reverse proxy implementations, the request may be proxied to the backend server before the RST_STREAM frame is processed. The client on the other hand paid almost no costs for sending the requests. This creates an exploitable cost asymmetry between the server and the client. Multiple software artifacts implementing HTTP/2 are affected. This advisory was originally ingested from the swift-nio-http2 specific advisoryswift-nio-http2 is vulnerable to a denial-of-service vulnerability in which a malicious client can create and then reset a large number of HTTP/2 streams in a short period of time. This causes swift-nio-http2 to commit to a large amount of expensive work which it then throws away, including creating entirely new swift-nio-http2 1.28 contains a remediation for this issue that applies reset counter using a sliding window. This constrains the number of stream resets that may occur in a given window of time. Clients violating this limit will have their connections torn down. This allows clients to continue to cancel streams for legitimate reasons, while constraining malicious actors. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev |
v0.13.0
minor
Dependencies (4)
|
|
v0.12.0
minor
24 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-39325
GHSA-4374-p667-p6c8
BIT-golang-2023-39325
GO-2023-2102
Oct 11, 2023
HTTP/2 rapid reset can cause excessive work in net/http
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-44487
GHSA-qppj-fm5r-hxr3
BIT-apisix-2023-44487
BIT-aspnet-core-2023-44487
BIT-contour-2023-44487
BIT-dotnet-2023-44487
BIT-dotnet-sdk-2023-44487
BIT-envoy-2023-44487
BIT-golang-2023-44487
BIT-jenkins-2023-44487
BIT-kong-2023-44487
BIT-nginx-2023-44487
BIT-nginx-gateway-2023-44487
BIT-node-2023-44487
BIT-node-min-2023-44487
BIT-solr-2023-44487
BIT-tomcat-2023-44487
BIT-varnish-2023-44487
Oct 10, 2023
HTTP/2 Stream Cancellation Attack
Medium
Network
Low
None
None
HTTP/2 Rapid reset attackThe HTTP/2 protocol allows clients to indicate to the server that a previous stream should be canceled by sending a RST_STREAM frame. The protocol does not require the client and server to coordinate the cancellation in any way, the client may do it unilaterally. The client may also assume that the cancellation will take effect immediately when the server receives the RST_STREAM frame, before any other data from that TCP connection is processed. Abuse of this feature is called a Rapid Reset attack because it relies on the ability for an endpoint to send a RST_STREAM frame immediately after sending a request frame, which makes the other endpoint start working and then rapidly resets the request. The request is canceled, but leaves the HTTP/2 connection open. The HTTP/2 Rapid Reset attack built on this capability is simple: The client opens a large number of streams at once as in the standard HTTP/2 attack, but rather than waiting for a response to each request stream from the server or proxy, the client cancels each request immediately. The ability to reset streams immediately allows each connection to have an indefinite number of requests in flight. By explicitly canceling the requests, the attacker never exceeds the limit on the number of concurrent open streams. The number of in-flight requests is no longer dependent on the round-trip time (RTT), but only on the available network bandwidth. In a typical HTTP/2 server implementation, the server will still have to do significant amounts of work for canceled requests, such as allocating new stream data structures, parsing the query and doing header decompression, and mapping the URL to a resource. For reverse proxy implementations, the request may be proxied to the backend server before the RST_STREAM frame is processed. The client on the other hand paid almost no costs for sending the requests. This creates an exploitable cost asymmetry between the server and the client. Multiple software artifacts implementing HTTP/2 are affected. This advisory was originally ingested from the swift-nio-http2 specific advisoryswift-nio-http2 is vulnerable to a denial-of-service vulnerability in which a malicious client can create and then reset a large number of HTTP/2 streams in a short period of time. This causes swift-nio-http2 to commit to a large amount of expensive work which it then throws away, including creating entirely new swift-nio-http2 1.28 contains a remediation for this issue that applies reset counter using a sliding window. This constrains the number of stream resets that may occur in a given window of time. Clients violating this limit will have their connections torn down. This allows clients to continue to cancel streams for legitimate reasons, while constraining malicious actors. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-3978
GHSA-2wrh-6pvc-2jm9
GO-2023-1988
Aug 02, 2023
Improper rendering of text nodes in golang.org/x/net/html
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Text nodes not in the HTML namespace are incorrectly literally rendered, causing text which should be escaped to not be. This could lead to an XSS attack. Fixed in
0.13.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.12.0
minor
Dependencies (4)
|
|
v0.11.0
minor
24 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-39325
GHSA-4374-p667-p6c8
BIT-golang-2023-39325
GO-2023-2102
Oct 11, 2023
HTTP/2 rapid reset can cause excessive work in net/http
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-44487
GHSA-qppj-fm5r-hxr3
BIT-apisix-2023-44487
BIT-aspnet-core-2023-44487
BIT-contour-2023-44487
BIT-dotnet-2023-44487
BIT-dotnet-sdk-2023-44487
BIT-envoy-2023-44487
BIT-golang-2023-44487
BIT-jenkins-2023-44487
BIT-kong-2023-44487
BIT-nginx-2023-44487
BIT-nginx-gateway-2023-44487
BIT-node-2023-44487
BIT-node-min-2023-44487
BIT-solr-2023-44487
BIT-tomcat-2023-44487
BIT-varnish-2023-44487
Oct 10, 2023
HTTP/2 Stream Cancellation Attack
Medium
Network
Low
None
None
HTTP/2 Rapid reset attackThe HTTP/2 protocol allows clients to indicate to the server that a previous stream should be canceled by sending a RST_STREAM frame. The protocol does not require the client and server to coordinate the cancellation in any way, the client may do it unilaterally. The client may also assume that the cancellation will take effect immediately when the server receives the RST_STREAM frame, before any other data from that TCP connection is processed. Abuse of this feature is called a Rapid Reset attack because it relies on the ability for an endpoint to send a RST_STREAM frame immediately after sending a request frame, which makes the other endpoint start working and then rapidly resets the request. The request is canceled, but leaves the HTTP/2 connection open. The HTTP/2 Rapid Reset attack built on this capability is simple: The client opens a large number of streams at once as in the standard HTTP/2 attack, but rather than waiting for a response to each request stream from the server or proxy, the client cancels each request immediately. The ability to reset streams immediately allows each connection to have an indefinite number of requests in flight. By explicitly canceling the requests, the attacker never exceeds the limit on the number of concurrent open streams. The number of in-flight requests is no longer dependent on the round-trip time (RTT), but only on the available network bandwidth. In a typical HTTP/2 server implementation, the server will still have to do significant amounts of work for canceled requests, such as allocating new stream data structures, parsing the query and doing header decompression, and mapping the URL to a resource. For reverse proxy implementations, the request may be proxied to the backend server before the RST_STREAM frame is processed. The client on the other hand paid almost no costs for sending the requests. This creates an exploitable cost asymmetry between the server and the client. Multiple software artifacts implementing HTTP/2 are affected. This advisory was originally ingested from the swift-nio-http2 specific advisoryswift-nio-http2 is vulnerable to a denial-of-service vulnerability in which a malicious client can create and then reset a large number of HTTP/2 streams in a short period of time. This causes swift-nio-http2 to commit to a large amount of expensive work which it then throws away, including creating entirely new swift-nio-http2 1.28 contains a remediation for this issue that applies reset counter using a sliding window. This constrains the number of stream resets that may occur in a given window of time. Clients violating this limit will have their connections torn down. This allows clients to continue to cancel streams for legitimate reasons, while constraining malicious actors. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-3978
GHSA-2wrh-6pvc-2jm9
GO-2023-1988
Aug 02, 2023
Improper rendering of text nodes in golang.org/x/net/html
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Text nodes not in the HTML namespace are incorrectly literally rendered, causing text which should be escaped to not be. This could lead to an XSS attack. Fixed in
0.13.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.11.0
minor
Dependencies (4)
|
|
v0.10.0
minor
24 CVEs
CVE-2026-78661
GO-2026-6860
Oct 27, 2026
Avoid quadratic complexity when coalescing text nodes in html in golang.org/x/net 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") 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. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-97045
GO-2026-6866
Oct 27, 2026
Check all ancestor namespace transitions when rendering raw text in html in golang.org/x/net In childTextNodesAreLiteral, walking up the tree previously stopped at the nearest foreign ancestor once an HTML integration point was found. However, that integration point may itself be a descendant of an element that was foster-parented into a foreign namespace (such as or fostered under ), causing a parser to resolve the subtree in a different foreign namespace upon re-parsing the rendered output. Continue walking the full ancestor chain and verify that every transition from a non-empty namespace occurs at an HTML integration point before emitting literal text. Fixed in
0.62.0
References Updated Oct 27, 2026 · Source: OSV.dev
CVE-2026-78660
GO-2026-6610
BIT-golang-2026-78660
Oct 08, 2026
HTTP/2 transport accepts malformed framing-related headers in net/http Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers to an HTTP/1 client when acting as a reverse proxy. If the HTTP/1 client also does not behave strictly enough, this can result in response smuggling. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78669
GO-2026-6611
BIT-golang-2026-78669
Oct 08, 2026
Excessive CPU consumption from repeated initial window changes in net/http A malicious HTTP/2 peer can cause excessive CPU consumption in the client or server by opening a large number of streams and then sending many small SETTINGS frames containing SETTINGS_INITIAL_WINDOW_SIZE values. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78659
GO-2026-6603
BIT-golang-2026-78659
Oct 08, 2026
HTTP/2 server memory exhaustion due to Trailer headers in net/http When "Trailer" headers are sent by a client, the HTTP server internally uses the header values to populate the Request.Trailer map passed to the server handler. Because Request.Trailer is a map, each entry incurs memory overhead. For HTTP/2 servers, a malicious client can exploit this by sending a "Trailer" header that declares a large number of fields, causing the server to allocate a disproportionate amount of memory while bypassing Server.MaxHeaderValueCount and Server.MaxHeaderBytes limits. This exploit is not applicable for HTTP/1 servers, which do not support multiplexing a large number of requests over one TCP connection, and whose Server.MaxHeaderBytes are calculated differently. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-97032
GO-2026-6617
BIT-golang-2026-97032
Oct 08, 2026
HTTP/2 server crash due to HPACK encoder race in net/http HTTP/2 servers could end up crashing due to inadvertently modifying its HPACK encoder concurrently. This happens because the server modifies the HPACK encoder from two goroutines without synchronization: one uses the encoder to encode a HEADERS frame as part of a response sent to a client and the other modifies the encoder's table size when handling a SETTINGS frame containing SETTINGS_HEADER_TABLE_SIZE that a client sends. A malicious client can repeatedly send a request while changing the header table size to crash the server. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-78663
GO-2026-6612
BIT-golang-2026-78663
Oct 08, 2026
Double flow control refund on HTTP/2 server streams in net/http The HTTP/2 server can refund connection-level flow control twice for the same data: Once when a client resets a stream (refunding data for any sent-but-unread portion of the stream), and again when a request handler reads the buffered data. A malicious client can exploit this to bypass the configured connection-level flow control limit (MaxReceiveBufferPerConnection). Total buffered data is still limited by the concurrent stream limit and stream-level flow control. Fixed in
0.60.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-46600
GO-2026-5942
BIT-golang-2026-46600
Jul 14, 2026
Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage Parsing an invalid SVCB or HTTPS RR can panic when the size of a parameter value overflows the message buffer. Fixed in
0.56.0
References Updated Aug 17, 2026 · Source: OSV.dev
CVE-2026-25680
GHSA-5cv4-jp36-h3mw
GO-2026-5028
May 26, 2026
Go Net HTML parser is vulnerable to denial of service
6.5
/ 10
Medium
Network
Low
None
Required
Unchanged
None
None
High
In Go Net ( Fixed in
0.55.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2026-27136
GO-2026-5030
May 22, 2026
Invoking duplicate attributes can cause XSS in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-39821
GO-2026-5026
May 22, 2026
Invoking failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna The ToASCII and ToUnicode functions incorrectly accept Punycode-encoded labels that decode to an ASCII-only label. For example, ToUnicode("xn--example-.com") incorrectly returns the name "example.com" rather than an error. This behavior can lead to privilege escalation in programs using the idna package. For example, a program which performs privilege checks on the ASCII hostname may reject "example.com" but permit "xn--example-.com". If that program subsequently converts the ASCII hostname to Unicode, it will inadvertently permits access to the Unicode name "example.com". Fixed in
0.55.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2026-42506
GO-2026-5025
May 22, 2026
Invoking incorrect handling of namespaced elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated May 30, 2026 · Source: OSV.dev
CVE-2026-42502
GO-2026-5027
May 22, 2026
Invoking incorrect handling of HTML elements in foreign content in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-25681
GO-2026-5029
May 22, 2026
Invoking incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html Parsing arbitrary HTML which is then rendered using Render can result in an unexpected HTML tree. This can be leveraged to execute XSS attacks in applications that attempt to sanitize input HTML before rendering. Fixed in
0.55.0
References Updated Sep 22, 2026 · Source: OSV.dev
CVE-2026-33814
GO-2026-4918
BIT-golang-2026-33814
May 07, 2026
Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net When processing HTTP/2 SETTINGS frames, transport will enter an infinite loop of writing CONTINUATION frames if it receives a SETTINGS_MAX_FRAME_SIZE with a value of 0. Fixed in
0.53.0
References Updated Oct 16, 2026 · Source: OSV.dev
CVE-2025-58190
GO-2026-4441
Feb 05, 2026
Infinite parsing loop in golang.org/x/net The html.Parse function in golang.org/x/net/html has an infinite parsing loop when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-47911
GO-2026-4440
GHSA-w4gw-w5jq-g9jh
Feb 05, 2026
Quadratic parsing complexity in golang.org/x/net/html The html.Parse function in golang.org/x/net/html has quadratic parsing complexity when processing certain inputs, which can lead to denial of service (DoS) if an attacker provides specially crafted HTML content. Fixed in
0.45.0
References Updated May 15, 2026 · Source: OSV.dev
CVE-2025-22872
GHSA-vvgc-356p-c3xw
GO-2025-3595
Apr 16, 2025
golang.org/x/net vulnerable to Cross-site Scripting
Medium
Network
Low
None
The tokenizer incorrectly interprets tags with unquoted attribute values that end with a solidus character (/) as self-closing. When directly using Tokenizer, this can result in such tags incorrectly being marked as self-closing, and when using the Parse functions, this can result in content following such tags as being placed in the wrong scope during DOM construction, but only when tags are in foreign content (e.g. , , etc contexts). Fixed in
0.38.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2025-22870
GHSA-qxp5-gwg8-xv66
GO-2025-3503
Mar 12, 2025
HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net
4.4
/ 10
Medium
Local
Low
Low
None
Unchanged
Low
None
Low
Matching of hosts against proxy patterns can improperly treat an IPv6 zone ID as a hostname component. For example, when the NO_PROXY environment variable is set to "*.example.com", a request to "[::1%25.example.com]:80` will incorrectly match and not be proxied. Fixed in
0.36.0
References Updated Sep 10, 2026 · Source: OSV.dev
CVE-2024-45338
GO-2024-3333
GHSA-w32m-9786-jp63
Dec 18, 2024
Non-linear parsing of case-insensitive content in golang.org/x/net/html An attacker can craft an input to the Parse functions that would be processed non-linearly with respect to its length, resulting in extremely slow parsing. This could cause a denial of service. Fixed in
0.33.0
References Updated Mar 24, 2026 · Source: OSV.dev
CVE-2023-45288
GHSA-4v7x-pqxf-cx7m
BIT-golang-2023-45288
GO-2024-2687
Apr 04, 2024
net/http, x/net/http2: close connections when receiving too many headers
5.3
/ 10
Medium
Network
Low
None
None
Unchanged
None
None
Low
An attacker may cause an HTTP/2 endpoint to read arbitrary amounts of header data by sending an excessive number of CONTINUATION frames. Maintaining HPACK state requires parsing and processing all HEADERS and CONTINUATION frames on a connection. When a request's headers exceed MaxHeaderBytes, no memory is allocated to store the excess headers, but they are still parsed. This permits an attacker to cause an HTTP/2 endpoint to read arbitrary amounts of header data, all associated with a request which is going to be rejected. These headers can include Huffman-encoded data which is significantly more expensive for the receiver to decode than for an attacker to send. The fix sets a limit on the amount of excess header frames we will process before closing a connection. Fixed in
0.23.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-39325
GHSA-4374-p667-p6c8
BIT-golang-2023-39325
GO-2023-2102
Oct 11, 2023
HTTP/2 rapid reset can cause excessive work in net/http
7.5
/ 10
High
Network
Low
None
None
Unchanged
None
None
High
A malicious HTTP/2 client which rapidly creates requests and immediately resets them can cause excessive server resource consumption. While the total number of requests is bounded by the http2.Server.MaxConcurrentStreams setting, resetting an in-progress request allows the attacker to create a new request while the existing one is still executing. With the fix applied, HTTP/2 servers now bound the number of simultaneously executing handler goroutines to the stream concurrency limit (MaxConcurrentStreams). New requests arriving when at the limit (which can only happen after the client has reset an existing, in-flight request) will be queued until a handler exits. If the request queue grows too large, the server will terminate the connection. This issue is also fixed in golang.org/x/net/http2 for users manually configuring HTTP/2. The default stream concurrency limit is 250 streams (requests) per HTTP/2 connection. This value may be adjusted using the golang.org/x/net/http2 package; see the Server.MaxConcurrentStreams setting and the ConfigureServer function. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-44487
GHSA-qppj-fm5r-hxr3
BIT-apisix-2023-44487
BIT-aspnet-core-2023-44487
BIT-contour-2023-44487
BIT-dotnet-2023-44487
BIT-dotnet-sdk-2023-44487
BIT-envoy-2023-44487
BIT-golang-2023-44487
BIT-jenkins-2023-44487
BIT-kong-2023-44487
BIT-nginx-2023-44487
BIT-nginx-gateway-2023-44487
BIT-node-2023-44487
BIT-node-min-2023-44487
BIT-solr-2023-44487
BIT-tomcat-2023-44487
BIT-varnish-2023-44487
Oct 10, 2023
HTTP/2 Stream Cancellation Attack
Medium
Network
Low
None
None
HTTP/2 Rapid reset attackThe HTTP/2 protocol allows clients to indicate to the server that a previous stream should be canceled by sending a RST_STREAM frame. The protocol does not require the client and server to coordinate the cancellation in any way, the client may do it unilaterally. The client may also assume that the cancellation will take effect immediately when the server receives the RST_STREAM frame, before any other data from that TCP connection is processed. Abuse of this feature is called a Rapid Reset attack because it relies on the ability for an endpoint to send a RST_STREAM frame immediately after sending a request frame, which makes the other endpoint start working and then rapidly resets the request. The request is canceled, but leaves the HTTP/2 connection open. The HTTP/2 Rapid Reset attack built on this capability is simple: The client opens a large number of streams at once as in the standard HTTP/2 attack, but rather than waiting for a response to each request stream from the server or proxy, the client cancels each request immediately. The ability to reset streams immediately allows each connection to have an indefinite number of requests in flight. By explicitly canceling the requests, the attacker never exceeds the limit on the number of concurrent open streams. The number of in-flight requests is no longer dependent on the round-trip time (RTT), but only on the available network bandwidth. In a typical HTTP/2 server implementation, the server will still have to do significant amounts of work for canceled requests, such as allocating new stream data structures, parsing the query and doing header decompression, and mapping the URL to a resource. For reverse proxy implementations, the request may be proxied to the backend server before the RST_STREAM frame is processed. The client on the other hand paid almost no costs for sending the requests. This creates an exploitable cost asymmetry between the server and the client. Multiple software artifacts implementing HTTP/2 are affected. This advisory was originally ingested from the swift-nio-http2 specific advisoryswift-nio-http2 is vulnerable to a denial-of-service vulnerability in which a malicious client can create and then reset a large number of HTTP/2 streams in a short period of time. This causes swift-nio-http2 to commit to a large amount of expensive work which it then throws away, including creating entirely new swift-nio-http2 1.28 contains a remediation for this issue that applies reset counter using a sliding window. This constrains the number of stream resets that may occur in a given window of time. Clients violating this limit will have their connections torn down. This allows clients to continue to cancel streams for legitimate reasons, while constraining malicious actors. Fixed in
0.17.0
References
Updated Sep 10, 2026 · Source: OSV.dev
CVE-2023-3978
GHSA-2wrh-6pvc-2jm9
GO-2023-1988
Aug 02, 2023
Improper rendering of text nodes in golang.org/x/net/html
6.1
/ 10
Medium
Network
Low
None
Required
Changed
Low
Low
None
Text nodes not in the HTML namespace are incorrectly literally rendered, causing text which should be escaped to not be. This could lead to an XSS attack. Fixed in
0.13.0
References Updated Sep 10, 2026 · Source: OSV.dev |
v0.10.0
minor
Dependencies (3)
|