Skip to content

security: upgrade golang.org/x/net to v0.56.0 (fixes 5 CVEs) - #698

Merged
jeduden merged 3 commits into
mainfrom
claude/lucid-einstein-j1yrh2
Jun 25, 2026
Merged

security: upgrade golang.org/x/net to v0.56.0 (fixes 5 CVEs)#698
jeduden merged 3 commits into
mainfrom
claude/lucid-einstein-j1yrh2

Conversation

@jeduden

@jeduden jeduden commented Jun 24, 2026

Copy link
Copy Markdown
Owner

Summary

Upgrades golang.org/x/net from v0.54.0 to v0.56.0 to resolve 5 security vulnerabilities detected by govulncheck in golang.org/x/net/html.

Vulnerabilities fixed

ID Severity Description
GO-2026-5030 High XSS via invoking duplicate attributes in golang.org/x/net/html
GO-2026-5029 Incorrect handling of character references in DOCTYPE nodes
GO-2026-5028 Denial of service when parsing arbitrary HTML
GO-2026-5027 Incorrect handling of HTML elements in foreign content
GO-2026-5025 Incorrect handling of namespaced elements in foreign content

All five are fixed in v0.55.0; this PR upgrades to v0.56.0 (latest).

Affected call site

internal/release/verifypicker.go:51html.ParseWithOptions is called on Hugo-rendered homepage output. While this runs in the release pipeline on trusted input rather than user-supplied HTML, upgrading eliminates the vulnerability class entirely.

Verification

  • govulncheck ./...No vulnerabilities found
  • go build ./... → clean
  • go test ./... → all packages pass

Test plan

  • govulncheck ./... reports no vulnerabilities after the upgrade
  • All existing tests pass (go test ./...)
  • Build succeeds (go build ./...)

🤖 Generated with Claude Code

https://claude.ai/code/session_01VvRSACkAR6hSbfjKcytz56


Generated by Claude Code

Resolves GO-2026-5025, GO-2026-5027, GO-2026-5028, GO-2026-5029,
GO-2026-5030 — XSS, DoS, and incorrect HTML parsing vulnerabilities
in golang.org/x/net/html, all fixed in v0.55.0. Upgrading to v0.56.0
(latest). The affected call site is internal/release/verifypicker.go
which uses html.ParseWithOptions on Hugo-rendered output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VvRSACkAR6hSbfjKcytz56
@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.62%. Comparing base (3d35b77) to head (d971921).

Additional details and impacted files
Components Coverage Δ
Go 98.61% <ø> (ø)
TypeScript 99.54% <ø> (ø)

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

claude added 2 commits June 24, 2026 23:17
The dev-tools module had golang.org/x/net v0.52.0 as a transitive
dependency of golangci-lint. Bump to v0.56.0 to match go.mod and
eliminate the version skew. Coordinated upgrades to x/mod, x/sync,
x/sys, x/text, and x/tools follow from MVS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VvRSACkAR6hSbfjKcytz56
The previous commit upgraded golang.org/x/net in tools/go.mod but the
go mod tidy was run with Go 1.25.0 (below the required 1.25.8), so the
go.sum was missing entries for golang.org/x/tools v0.45.0 sub-packages
needed by golangci-lint. Re-run with GOTOOLCHAIN=go1.25.11 to fill the
gap.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VvRSACkAR6hSbfjKcytz56
@jeduden

jeduden commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

🔍 Merge Queue — bisecting

A larger batch failed CI. Bisection is isolating the culprit: this run tests up to 3 of 5 candidate PRs on merge-queue/batch-bisect-693-1782413840. View current bisect CI run.

Next: No action needed — you'll be notified when the culprit is isolated, this PR merges, or this PR returns to the queue for a later batch.

@jeduden jeduden added queue:attempt-1 queue Add to a PR to enqueue it labels Jun 25, 2026
@jeduden

jeduden commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

Merge Queue — requeued

The merge queue hit a transient error while processing this PR:

bisection continues on a smaller batch; this PR was not tested and returned to the queue

View merge queue run.

Next: No action needed — the queue will retry automatically on the next run.

@jeduden jeduden removed queue Add to a PR to enqueue it queue:attempt-1 labels Jun 25, 2026
@jeduden

jeduden commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

🔍 Merge Queue — bisecting

A larger batch failed CI. Bisection is isolating the culprit: this run tests up to 2 of 3 candidate PRs on merge-queue/batch-bisect-696-1782420299. View current bisect CI run.

Next: No action needed — you'll be notified when the culprit is isolated, this PR merges, or this PR returns to the queue for a later batch.

@jeduden

jeduden commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

🔍 Merge Queue — bisecting

A larger batch failed CI. Bisection is isolating the culprit: this run tests up to 1 of 1 candidate PRs on merge-queue/batch-bisect-698-1782420690. View current bisect CI run.

Next: No action needed — you'll be notified when the culprit is isolated, this PR merges, or this PR returns to the queue for a later batch.

@jeduden

jeduden commented Jun 25, 2026

Copy link
Copy Markdown
Owner Author

Merge Queue — merged

This PR landed on main via commit e67ecc8. CI run that validated the merge.

Next: Done — nothing more to do here.

@jeduden
jeduden merged commit e67ecc8 into main Jun 25, 2026
31 checks passed
jeduden pushed a commit that referenced this pull request Jun 25, 2026
Addresses all stdlib govulncheck findings on go 1.25.x:
GO-2026-5039 (net/textproto, unescaped errors), GO-2026-5037/4947/4946
(crypto/x509 XSS/DoS/chain), GO-2026-4982/4980 (html/template XSS),
GO-2026-4971 (net NUL panic), GO-2026-4918 (HTTP/2 infinite loop),
GO-2026-4870 (TLS KeyUpdate DoS), GO-2026-4869/4014 (archive/tar
allocation), GO-2026-4602 (os FileInfo escape), GO-2026-4601/2025-4010
(net/url IPv6), and several earlier x509/tls/asn1/pem/http CVEs.

The golang.org/x/net idna fix (GO-2026-5026) was already merged via #698.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WcKyJREutLqn5x3hbdGaKT
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.

2 participants