p PatchFirst

PatchFirst · Latest vulnerabilities

golang-1.21 vulnerabilities

Vulnerabilities published for golang-1.21 in the last 30 days: 17. Listed in the KEV catalogue: 0.

Filter vulnerabilities
Clear filters

Vulnerabilities: 89

  1. CVE-2026-97045

    Not ratedEPSS 0.2%No fix published

    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 <mglyph> or <malignmark> fostered under <mtext>), 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.

    Published Updated
  2. CVE-2026-78661

    Not ratedEPSS 0.18%No fix published

    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</x>") caused O(n^2) allocations and byte copies. Accumulate coalesced text in per-node byte slices during parsing and materialize Data strings once at the end of parse.

    Published Updated
  3. CVE-2026-97032

    High · CVSS 7.5EPSS 0.49%No fix published

    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.

    Published Updated
  4. CVE-2026-94439

    High · CVSS 7.5EPSS 0.41%No fix published

    HTTP/1 server connection desynchronization after 2xx CONNECT response in net/http

    When an HTTP server handler sends a 2xx response to an HTTP/1 CONNECT request and returns without hijacking the connection, the server improperly continues to read and serve requests from the connection. Since a 2xx response to an HTTP/1 CONNECT converts the connection into a tunnel, the server should not treat the connection as continuing to contain HTTP. The impact of this misbehavior is mostly limited to potential request smuggling, where an intermediate proxy considers the data on the connection to be tunneled and the server considers it to be HTTP.

    Published Updated
  5. CVE-2026-78663

    Critical · CVSS 9.1EPSS 0.62%No fix published

    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.

    Published Updated
  6. CVE-2026-78660

    High · CVSS 7.5EPSS 0.43%No fix published

    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.

    Published Updated
  7. CVE-2026-97031

    High · CVSS 7.5EPSS 0.52%No fix published

    Reject malformed ECH outer extension references in crypto/tls

    Multiple ECH outer extension references are not permitted under RFC 9849; previously, a client could send a well-crafted packet that could trigger memory exhaustion in the server process by specifying multiple references. We now reject these as malformed and curb the memory amplification vector as a result.

    Published Updated
  8. CVE-2026-56866

    High · CVSS 7.5EPSS 0.47%No fix published

    HTTP/1 client connection desynchronization after CONNECT rejection in net/http

    When http.Transport sends an HTTP/1 CONNECT request with a non-empty Request.Body, it writes the body directly to the connection without framing after the request headers. If the server rejects the CONNECT request with a non-2xx keep-alive response, Transport returns the connection to the idle pool. Because CONNECT requests do not have a request body, the server may interpret the trailing body bytes as a subsequent pipelined HTTP/1.1 request on the connection, leaving the pooled connection desynchronized and causing the next caller that reuses it to read the response to the injected request. In reverse proxies (including httputil.ReverseProxy

    Published Updated
  9. CVE-2026-56857

    Critical · CVSS 9.8EPSS 0.55%No fix published

    Root.Mkdir(All) can follow junctions out of the root on Windows in os

    On Windows, when the target of Root.Mkdir or Root.MkdirAll is a junction pointing to an empty location, the operation can create a directory at the junction target even when that target is located outside the root. This only applies to operations where the last path component is a junction (path/to/junction, but not path/junction/target).

    Published Updated
  10. CVE-2026-78659

    High · CVSS 7.5EPSS 0.63%No fix published

    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 Ser

    Published Updated
  11. CVE-2026-94447

    High · CVSS 7.8EPSS 0.1%No fix published

    Checksum database bypass for golang.org/toolchain in cmd/go

    Previously, a user operating inside of a malicious Go project that defines a bogus golang.org/toolchain go.sum entry and operates a malicious GOMODPROXY the user chooses to use can bypass the intended checksum. We now ensure that golang.org/toolchain always goes to the network for the canonical checksum.

    Published Updated
  12. CVE-2026-94444

    High · CVSS 7.8EPSS 0.1%No fix published

    Checksum bypass for golang.org/fips140 in cmd/go

    Previously, a user operating inside of a malicious Go project that defines a bogus golang.org/fips140 and operates a malicious GOMODPROXY the user chooses to connect to can serve an arbitrary module in its place. We now unpack the trusted ziphash for the bundled golang.org/fips140 module and construct its entry in the GOMODCACHE such that it can be verified by the toolchain.

    Published Updated
  13. CVE-2026-94448

    Medium · CVSS 6.1EPSS 0.29%No fix published

    Reset context tracking on consecutive template expressions in html/template

    When a JavaScript template literal contains consecutive expressions, the context tracking state was not properly reset upon entering a new expression. We now ensure that template-literal expression entries correctly reset context variables so all subsequent regular expression literals are accurately recognized and escaped.

    Published Updated
  14. CVE-2026-56855

    High · CVSS 7.5EPSS 0.5%No fix published

    Prevent DoS on deadlocked established channel in golang.org/x/crypto/ssh

    Previously, after a channel has been established, a malicious peer could send crafted messages that would deadlock the entire connection. Now, we handle all RFC 4254 channel messages; global requests are handled explicitly. Then, treat all other messages as a protocol error and tear the connection down instead of buffering and blocking.

    Published Updated
  15. CVE-2026-78662

    High · CVSS 7.5EPSS 0.43%No fix published

    Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh

    Previously, a channel registered in the mux's chanList is not usable until it is established. A malicious peer was able flood the channel's incomingRequests, deadlocking the entire connection. Now, we add an atomic established state, set when a channel becomes usable. Until such a time, handlePacket drops every packet other than the open confirmation/failure, without blocking and without tearing down the connection.

    Published Updated
  16. CVE-2026-56860

    Medium · CVSS 5.9EPSS 0.55%No fix published

    Avoid quadratic complexity in resolvePath in net/url

    Previously, resolving relative paths containing parent directory ('..') segments performed string conversions and buffer rewrites on each step, resulting in quadratic time complexity and high memory allocation overhead. Now, path resolution operates on a byte buffer using index-based backtracking for '..' segments, eliminating the quadratic time complexity and significantly reducing memory allocations.

    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →