Skip to content

fix(security): upgrade Go from 1.25.11 to 1.26.4 to fix 23 stdlib CVEs#2788

Merged
theakshaypant merged 1 commit into
mainfrom
fix/cve-2026-go-stdlib-upgrade-to-1.26.4-main-attempt-1
Jun 18, 2026
Merged

fix(security): upgrade Go from 1.25.11 to 1.26.4 to fix 23 stdlib CVEs#2788
theakshaypant merged 1 commit into
mainfrom
fix/cve-2026-go-stdlib-upgrade-to-1.26.4-main-attempt-1

Conversation

@theakshaypant

Copy link
Copy Markdown
Member

📝 Description of the Change

Upgrades the Go toolchain from 1.25.11 → 1.26.4 to address 23 Go standard library CVEs.
go 1.25.11 is the latest patch release in the 1.25.x series — these vulnerabilities require Go 1.26.x and cannot be backported to 1.25.x.

Changes: go.mod (go 1.25.11go 1.26.4). No dependency version changes; go.sum is unchanged.

CVEs Fixed (23 total)

CVE GOVULN ID Package Summary
CVE-2026-27137 GO-2026-4599 crypto/x509 Incorrect enforcement of email constraints
CVE-2026-27138 GO-2026-4600 crypto/x509 Panic in name constraint checking for malformed certs
CVE-2026-25679 GO-2026-4601 net/url Incorrect parsing of IPv6 host literals
CVE-2026-27139 GO-2026-4602 os FileInfo can escape from a Root
CVE-2026-27142 GO-2026-4603 html/template URLs in meta content attribute actions not escaped
CVE-2026-32282 GO-2026-4864 os TOCTOU permits root escape via Root.Chmod
CVE-2026-32289 GO-2026-4865 html/template JsBraceDepth context tracking bug (XSS)
CVE-2026-33810 GO-2026-4866 crypto/x509 Case-sensitive excludedSubtrees causes auth bypass
CVE-2026-32288 GO-2026-4869 archive/tar Unbounded allocation for old GNU sparse
CVE-2026-32283 GO-2026-4870 crypto/tls Unauthenticated TLS 1.3 KeyUpdate causes connection retention
CVE-2026-32281 GO-2026-4946 crypto/x509 Inefficient policy validation
CVE-2026-32280 GO-2026-4947 crypto/x509 Unexpected work during chain building
CVE-2026-33814 GO-2026-4918 net/http Infinite loop in HTTP/2 transport on bad SETTINGS_MAX_FRAME_SIZE
CVE-2026-39836 GO-2026-4971 net Panic in Dial/LookupPort when handling NUL byte (Windows)
CVE-2026-39825 GO-2026-4976 net/http ReverseProxy forwards queries with excess parameters
CVE-2026-42499 GO-2026-4977 net/mail Quadratic string concatenation in consumePhrase
CVE-2026-39826 GO-2026-4980 html/template Escaper bypass leads to XSS
CVE-2026-33811 GO-2026-4981 net Crash when handling long CNAME response
CVE-2026-39823 GO-2026-4982 html/template Bypass of meta content URL escaping causes XSS
CVE-2026-39820 GO-2026-4986 net/mail Quadratic string concatenation in consumeComment
CVE-2026-27145 GO-2026-5037 crypto/x509 Inefficient candidate hostname parsing
CVE-2026-42504 GO-2026-5038 mime Quadratic complexity in WordDecoder.DecodeHeader
CVE-2026-42507 GO-2026-5039 net/textproto Arbitrary inputs in errors without escaping

How this change was made

  1. Updated go 1.25.11go 1.26.4 in go.mod
  2. Ran GOTOOLCHAIN=go1.26.4 go mod tidy — no dependency changes
  3. Ran GOTOOLCHAIN=go1.26.4 go mod verify — all modules verified
  4. Built: GOTOOLCHAIN=go1.26.4 go build ./... — success
  5. Tested: GOTOOLCHAIN=go1.26.4 go test ./pkg/... — all tests pass

Commits

Commit Description
e78b7c7 fix(security): upgrade Go from 1.25.11 to 1.26.4 to fix 23 stdlib CVEs

👨🏻‍ Linked Jira

N/A — CVEs discovered via Go vulnerability database (vuln.go.dev) direct check.

🔗 Linked GitHub Issue

N/A

🧪 Testing Strategy

  • Unit tests (go test ./pkg/... — all passed)
  • Build verification (go build ./... — success)
  • go mod verify — all modules verified
  • Integration tests (will run in CI)
  • End-to-end tests (will run in CI)

🤖 AI Assistance

This PR was created by the Ambient CVE Fixer workflow (Claude Sonnet 4.6).
CVEs were identified by querying the Go vulnerability database (vuln.go.dev) directly.


@linux-foundation-easycla

linux-foundation-easycla Bot commented Jun 18, 2026

Copy link
Copy Markdown

CLA Signed
The committers listed above are authorized under a signed CLA.

  • ✅ login: theakshaypant / name: Akshay Pant (268c96d)

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Code Review

This pull request updates the Go version in the go.mod file from 1.25.11 to 1.26.4. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Addresses Go stdlib vulnerabilities that require upgrading the compiler
toolchain from Go 1.25.11 to Go 1.26.4.

CVEs fixed:
- CVE-2026-27137 (GO-2026-4599): Incorrect email constraints in crypto/x509
- CVE-2026-27138 (GO-2026-4600): Panic in name constraint checking in crypto/x509
- CVE-2026-25679 (GO-2026-4601): Incorrect IPv6 host literal parsing in net/url
- CVE-2026-27139 (GO-2026-4602): FileInfo escape from Root in os
- CVE-2026-27142 (GO-2026-4603): Unescaped URLs in meta content in html/template
- CVE-2026-32282 (GO-2026-4864): TOCTOU root escape via Root.Chmod in os
- CVE-2026-32289 (GO-2026-4865): XSS via JsBraceDepth tracking bug in html/template
- CVE-2026-33810 (GO-2026-4866): Auth bypass via case-sensitive name constraints in crypto/x509
- CVE-2026-32288 (GO-2026-4869): Unbounded allocation for GNU sparse in archive/tar
- CVE-2026-32283 (GO-2026-4870): Connection retention via unauthenticated TLS 1.3 KeyUpdate
- CVE-2026-32281 (GO-2026-4946): Inefficient policy validation in crypto/x509
- CVE-2026-32280 (GO-2026-4947): Unexpected work during chain building in crypto/x509
- CVE-2026-33814 (GO-2026-4918): Infinite loop in HTTP/2 transport in net/http
- CVE-2026-39836 (GO-2026-4971): Panic in Dial/LookupPort with NUL byte in net
- CVE-2026-39825 (GO-2026-4976): ReverseProxy forwards excess URL params in net
- CVE-2026-42499 (GO-2026-4977): Quadratic string concat in net/mail
- CVE-2026-39826 (GO-2026-4980): XSS via escaper bypass in html/template
- CVE-2026-33811 (GO-2026-4981): Crash on long CNAME response in net
- CVE-2026-39823 (GO-2026-4982): XSS via meta content URL escaping bypass in html/template
- CVE-2026-39820 (GO-2026-4986): Quadratic concat in consumeComment in net/mail
- CVE-2026-27145 (GO-2026-5037): Inefficient hostname parsing in crypto/x509
- CVE-2026-42504 (GO-2026-5038): Quadratic complexity in mime.WordDecoder
- CVE-2026-42507 (GO-2026-5039): Unescaped inputs in errors in net/textproto

go 1.25.11 is the latest patch in the 1.25.x series — these fixes require Go 1.26.x.
No dependency changes: go.sum unchanged, go mod verify passes.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Akshay Pant <akpant@redhat.com>
@theakshaypant theakshaypant force-pushed the fix/cve-2026-go-stdlib-upgrade-to-1.26.4-main-attempt-1 branch from e78b7c7 to 268c96d Compare June 18, 2026 07:59
@theakshaypant theakshaypant merged commit c38b028 into main Jun 18, 2026
3 checks passed
@theakshaypant theakshaypant deleted the fix/cve-2026-go-stdlib-upgrade-to-1.26.4-main-attempt-1 branch June 18, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant