Skip to content

update to go1.26.4#52753

Merged
vvoland merged 1 commit into
moby:masterfrom
vvoland:update-go
Jun 3, 2026
Merged

update to go1.26.4#52753
vvoland merged 1 commit into
moby:masterfrom
vvoland:update-go

Conversation

@vvoland

@vvoland vvoland commented Jun 3, 2026

Copy link
Copy Markdown
Contributor
  • https://github.com/golang/go/issues?q=milestone%3AGo1.26.4+label%3ACherryPickApproved

  • full diff: golang/go@go1.26.3...go1.26.4

    This release include 3 security fixes following the security policy:

    • mime: quadratic complexity in WordDecoder.DecodeHeader

      Decoding a maliciously-crafted MIME header containing many invalid
      encoded-words could consume excessive CPU.
      The MIME decoder now better handles this case.

      Thanks to p4p3r (https://hackerone.com/p4p3r_hak) for reporting this issue.

      This is CVE-2026-42504 and Go issue https://go.dev/issue/79217.

    • net/textproto: arbitrary input are included in errors without any escaping

      When returning errors, functions in the net/textproto package would
      include its input as part of the error, without any escaping. Note that
      said input is often controlled by external parties when using this
      package naturally. For example, a net/http client uses ReadMIMEHeader
      when parsing the headers it receive from a server.

      As a result, an attacker could inject arbitrary content into the error.
      Practically, this can result in an attacker injecting misleading
      content, terminal control bytes, etc. into a victim's output or logs.

      This is CVE-2026-42507 and Go issue https://go.dev/issue/79346

    • crypto/x509: split candidate hostname only once

      (*x509.Certificate).VerifyHostname previously called matchHostnames in a loop
      over all DNS Subject Alternative Name (SAN) entries. This caused
      strings.Split(host, ".") to execute repeatedly on the same input hostname.

      With a large DNS SAN list, verification costs scaled quadratically based on the
      number of SAN entries multiplied by the hostname's label count. Because
      x509.Verify validates hostnames before building the certificate chain, this
      overhead occurred even for untrusted certificates.

      Thanks to Jakub Ciolek (https://ciolek.dev) for reporting this issue.

      This is CVE-2026-27145 and https://go.dev/issue/79694.

    View the release notes for more information: https://go.dev/doc/devel/release#go1.26.4

Update Go runtime to [1.26.4](https://go.dev/doc/devel/release#go1.26.4)

@vvoland vvoland self-assigned this Jun 3, 2026
@vvoland vvoland requested a review from tianon as a code owner June 3, 2026 13:30
@vvoland vvoland added this to the 29.5.3 milestone Jun 3, 2026
@vvoland vvoland added impact/changelog area/packaging kind/other Not a feature, bugfix or enhancement. and removed area/ci module/api labels Jun 3, 2026
This release include 3 security fixes following the security policy:

- mime: quadratic complexity in WordDecoder.DecodeHeader

    Decoding a maliciously-crafted MIME header containing many invalid
    encoded-words could consume excessive CPU.
    The MIME decoder now better handles this case.

    Thanks to p4p3r (https://hackerone.com/p4p3r_hak) for reporting this issue.

    This is CVE-2026-42504 and Go issue https://go.dev/issue/79217.

- net/textproto: arbitrary input are included in errors without any escaping

    When returning errors, functions in the net/textproto package would
    include its input as part of the error, without any escaping. Note that
    said input is often controlled by external parties when using this
    package naturally. For example, a net/http client uses ReadMIMEHeader
    when parsing the headers it receive from a server.

    As a result, an attacker could inject arbitrary content into the error.
    Practically, this can result in an attacker injecting misleading
    content, terminal control bytes, etc. into a victim's output or logs.

    This is CVE-2026-42507 and Go issue https://go.dev/issue/79346

- crypto/x509: split candidate hostname only once

    (*x509.Certificate).VerifyHostname previously called matchHostnames in a loop
    over all DNS Subject Alternative Name (SAN) entries. This caused
    strings.Split(host, ".") to execute repeatedly on the same input hostname.

    With a large DNS SAN list, verification costs scaled quadratically based on the
    number of SAN entries multiplied by the hostname's label count. Because
    x509.Verify validates hostnames before building the certificate chain, this
    overhead occurred even for untrusted certificates.

    Thanks to Jakub Ciolek (https://ciolek.dev) for reporting this issue.

    This is CVE-2026-27145 and https://go.dev/issue/79694.

View the release notes for more information:
https://go.dev/doc/devel/release#go1.26.4

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>

@thaJeztah thaJeztah left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@vvoland vvoland merged commit 4974288 into moby:master Jun 3, 2026
186 of 190 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/packaging impact/changelog kind/other Not a feature, bugfix or enhancement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants