RHSA-2026:49712HighCVSS 8.2

Red Hat Security Advisory: golang security update

Published
August 3, 2026
Last Modified
August 26, 2026

🔗 CVE IDs covered (14)

📋 Description

CVE-2026-27145 — crypto/x509: golang: golang crypto/x509: Denial of Service via excessive processing of DNS SAN entries CVE-2026-33811 — net: golang: Go net package: Denial of Service via long CNAME response in LookupCNAME CVE-2026-33814 — net/http/internal/http2: golang: golang.org/x/net: Go HTTP/2: Denial of Service via malformed SETTINGS_MAX_FRAME_SIZE frame CVE-2026-39817 — cmd/go: golang: Go tool pack: Arbitrary file write via malicious archive extraction CVE-2026-39819 — cmd/go: golang: Go 'go bug' command: Arbitrary file overwrite via symlink attack CVE-2026-39820 — net/mail: golang: Go net/mail: Denial of Service via crafted email inputs CVE-2026-39821 — golang.org/x/net/idna: golang: net/http: golang.org/x/net/idna: Privilege escalation via incorrect Punycode label processing CVE-2026-39822 — golang: Go os.Root: Symlink following vulnerability allows directory traversal CVE-2026-39823 — html/template: golang: Go html/template: Cross-Site Scripting via improper URL escaping in meta tag content CVE-2026-39825 — net/http/httputil: golang: net/http/httputil: ReverseProxy forwards hidden query parameters, potentially bypassing security controls CVE-2026-39826 — html/template: golang: html/template: Cross-site scripting due to incorrect script tag escaping CVE-2026-42499 — net/mail: golang: net/mail: Denial of Service via pathological email address parsing CVE-2026-42501 — cmd/go: golang: Go command (cmd/go): Integrity bypass due to checksum validation flaw via malicious module proxy CVE-2026-42507 — net/textproto: golang: Golang net/textproto: Misleading error messages via input injection

🎯 Affected products22

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

✅ 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: A flaw was found in the Go standard library crypto/x509 package. When verifying a TLS certificate hostname, VerifyHostname processed each DNS Subject Alternative Name (SAN) entry in a loop and repeatedly split the candidate hostname on "." characters. For certificates with a very large DNS SAN list, CPU use could grow quadratically with the number of SAN entries and hostname labels. Because hostname verification runs before the certificate chain is built, this overhead can occur even when the certificate is not trusted. Red Hat rates this issue as Important. It affects Red Hat products that include the Go standard library crypto/x509 code from an affected Go toolchain version (before Go 1.25.11, or from Go 1.26.0 through Go 1.26.3). Applications and container images built with a fixed Go release (1.25.11 or later, or 1.26.4 or later) are not affected. Community distributions such as Fedora are also affected. Upstream fix: Go 1.25.11 and Go 1.26.4 (GO-2026-5037). Workaround: To mitigate this issue, applications can be configured to use the pure Go DNS resolver instead of the `cgo` DNS resolver. This can be achieved by setting the `GODEBUG` environment variable to `netdns=go`. For example, to run a Go application with this mitigation: `GODEBUG=netdns=go /path/to/your/go/application`. This change may require restarting affected applications or services to take effect. Users should verify that this change does not negatively impact DNS resolution for their specific application environment. 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: Upgrade to a fixed golang.org/x/net release that includes the idna correction, via updated golang or dependent package rebuilds. Workaround: There is no mitigation for this issue other than updating the Go toolchain to Go 1.25.12 or Go 1.26.5. Programs compiled with Go >= 1.24 that do not use the os.Root API are not affected by this vulnerability. The os.Root API was introduced in Go 1.24. Go versions prior to 1.24 are not affected. This issue is fixed in Go 1.25.12 and Go 1.26.5. Workaround: Ensure that user-supplied URLs are validated and sanitized before being passed to Go's `html/template` package for rendering in HTML meta tag content attributes. Avoid rendering untrusted URL data directly in meta tag content attributes. Workaround: Increase the maximum number of query parameters allowed by setting the GODEBUG environment variable `urlmaxqueryparams` to a higher value (e.g., `GODEBUG=urlmaxqueryparams=20000`), or validate and enforce security controls on query parameters at the backend service rather than relying solely on the ReverseProxy's Rewrite or Director function for security filtering. Workaround: To verify the integrity of Go module dependencies and detect potential tampering by a malicious proxy, users can revalidate all dependencies of the current module. This process involves removing the existing `go.sum` file and then re-generating and verifying module checksums. Execute the following commands in your module's root directory: ```bash rm go.sum go mod tidy go mod verify ``` This operation will re-download and re-verify all module dependencies. Be aware that this may affect your local module cache and could require re-building projects.

🔗 References (17)