RHSA-2026:86196HighCVSS 7.5

Red Hat Security Advisory: golang security, bug fix, and enhancement update

Published
October 20, 2026
Last Modified
November 2, 2026

🔗 CVE IDs covered (15)

📋 Description

CVE-2026-56866 — net/http: golang: golang: Cross-user response poisoning via desynchronized HTTP CONNECT connections CVE-2026-78659 — net/http: golang.org/x/net/http2: golang: net/http: Denial of Service via HTTP/2 trailer header memory exhaustion CVE-2026-78660 — net/http: golang: golang.org/x/net/http2: net/http: HTTP response smuggling via malformed HTTP/2 framing headers CVE-2026-78663 — net/http: net/http/internal/http2: golang: golang.org/x/net/http2: golang: flow control limit bypass via double refund in HTTP/2 server CVE-2026-78667 — net/http: golang: golang: Denial of Service via crafted HTTP Range headers CVE-2026-78669 — net/http: net/http/internal/http2: golang.org/x/net/http2: net/http: Denial of Service via excessive HTTP/2 SETTINGS frames CVE-2026-94439 — net/http: golang: net/http: HTTP request smuggling via improper handling of HTTP/1 CONNECT responses CVE-2026-94440 — net/textproto: mime/multipart: golang: golang: Denial of Service via memory limit bypass in multipart form parsing CVE-2026-94444 — cmd/go: golang: cmd/go: arbitrary code execution via untrusted module proxy CVE-2026-94447 — cmd/go: golang: cmd/go: Toolchain checksum verification bypass via crafted project configuration CVE-2026-94448 — html/template: golang: golang: cross-site scripting via consecutive expressions in JavaScript template literals CVE-2026-97030 — html/template: golang: html/template: Cross-site scripting via improper escaping of yield keyword CVE-2026-97031 — crypto/tls: golang: crypto/tls: Denial of Service via multiple ECH outer extension references CVE-2026-97032 — net/http: net/http/internal/http2: golang: golang.org/x/net/http2: net/http: Denial of Service via concurrent HPACK encoder modification CVE-2026-111943 — crypto/x509: golang: crypto/x509: Man-in-the-middle attacks via untrusted intermediate certificates

🎯 Affected products22

  • Red Hat Enterprise Linux AppStream (v. 9)
  • go-toolset-0:1.26.10-1.el9_8.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • go-toolset-0:1.26.10-1.el9_8.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • go-toolset-0:1.26.10-1.el9_8.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • go-toolset-0:1.26.10-1.el9_8.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-0:1.26.10-1.el9_8.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-0:1.26.10-1.el9_8.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-0:1.26.10-1.el9_8.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-0:1.26.10-1.el9_8.src as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-0:1.26.10-1.el9_8.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-bin-0:1.26.10-1.el9_8.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-bin-0:1.26.10-1.el9_8.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-bin-0:1.26.10-1.el9_8.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-bin-0:1.26.10-1.el9_8.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-docs-0:1.26.10-1.el9_8.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-misc-0:1.26.10-1.el9_8.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-race-0:1.26.10-1.el9_8.aarch64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-race-0:1.26.10-1.el9_8.ppc64le as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-race-0:1.26.10-1.el9_8.s390x as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-race-0:1.26.10-1.el9_8.x86_64 as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-src-0:1.26.10-1.el9_8.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)
  • golang-tests-0:1.26.10-1.el9_8.noarch as a component of Red Hat Enterprise Linux AppStream (v. 9)

✅ Remediation

For details on how to apply this update, which includes the changes described in this advisory, refer to: https://access.redhat.com/articles/11258 Workaround: Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability. Workaround: There is no configuration-based mitigation for applications that must accept client-supplied trailer headers over HTTP/2. Possible mitigations are: - Disable HTTP/2 in the affected server (e.g. do not configure http2 via TLSNextProto / do not serve over h2), forcing HTTP/1.1 where the issue does not apply. - Terminate HTTP/2 at a reverse proxy or load balancer that limits request/header sizes and does not forward excessive trailer declarations to the backend. - Restrict network access to the HTTP/2 endpoint so that only trusted clients can connect. Workaround: Until the applicable security update is installed, avoid using affected Go-based reverse proxies to forward responses from untrusted upstream servers to HTTP/1 clients. Where this topology is required, restrict upstream connections to trusted servers and use a proxy or filtering layer that rejects malformed HTTP framing-related response headers. Apply the relevant Red Hat security update and restart or redeploy affected services. Workaround: In case you consume HTTP2, upgrade to a patched version of the http module. Verify: ``` go version go list -m golang.org/x/net govulncheck ./... ``` Workaround: Do not point GOPROXY or related module proxy settings at untrusted proxies, and do not build untrusted Go projects while using a non-default proxy. Prefer the default Go module proxy and checksum database. Workaround: Do not point GOPROXY or related module proxy settings at untrusted proxies, and do not build untrusted Go projects while using a non-default proxy. Prefer the default Go module proxy and checksum database. Setting GOTOOLCHAIN=local also avoids downloading toolchains. Workaround: Disable HTTP/2 server processing in affected Go applications by setting the environment variable GODEBUG=http2server=0, or restrict network exposure to trusted clients. For applications managed by systemd, configure the environment variable by creating a service override: systemctl edit <service-name> Add the following lines under the [Service] section: [Service] Environment="GODEBUG=http2server=0" Apply the changes and restart the daemon: systemctl daemon-reload systemctl restart <service-name> To limit network exposure using firewalld, restrict access to trusted networks: firewall-cmd --zone=trusted --add-source=<trusted-ip-range> --permanent firewall-cmd --reload Caveats: Disabling HTTP/2 forces incoming client traffic to HTTP/1.1 and will break protocols that require HTTP/2, such as gRPC. Warning: Reloading systemd configurations and restarting the service or firewall will briefly interrupt active network sessions and cause temporary service unavailability. Workaround: See the security bulletin for a detailed mitigation procedure.

🔗 References (8)