515 Commits

Author SHA1 Message Date
Mend Renovate
10b0401423 Update actions/cache action to v5.0.5
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-04-16 10:28:54 +00:00
CrazyMax
2437d5d646 ci: use bake matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-16 11:25:44 +02:00
CrazyMax
1743957d3f fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-16 11:25:44 +02:00
CrazyMax
0c878186d3 ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-15 14:25:45 +02:00
Paweł Gronowski
a331d4d7a3 gha: Add milestone validation workflow
Add validation to ensure PRs have milestones set and that they match the
expected docker next version defined in releases configuration.

This prevents PRs from being merged without proper milestone tracking,
which is important for release management and ensuring changes are
properly categorized for upcoming releases.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-04-13 19:54:10 +02:00
Paweł Gronowski
e0fc07b8cf gha/labeler: Only assign Windows to Windows-only changes
The platform/windows label was incorrectly being applied when any file
in a PR was Windows-specific, even if the PR also contained non-Windows
changes. This caused a lot of non-Windows-specific changes to be
mislabeled as Windows-only.

Changed from `any-glob-to-any-file` to `any-glob-to-all-files` so that
the windows label is only applied when ALL changed files match the
windows-specific patterns (like `*_windows.go` or `Dockerfile.windows`).

This ensures that mixed PRs containing both Windows and cross-platform
changes are not incorrectly tagged as Windows-only.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-04-10 11:48:48 +02:00
Sebastiaan van Stijn
3541b0d0fd update to Go 1.26.2
go1.26.2 (released 2026-04-07) includes security fixes to the go command,
the compiler, and the archive/tar, crypto/tls, crypto/x509, html/template,
and os packages, as well as bug fixes to the go command, the go fix command,
the compiler, the linker, the runtime, and the net, net/http, and net/url
packages. See the Go 1.26.2 milestone on our issue tracker for details;

- https://github.com/golang/go/issues?q=milestone%3AGo1.26.2+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.26.1...go1.26.2

From the security announce:

We have just released Go versions 1.26.2 and 1.25.9, minor point releases.

These releases include 10 security fixes following the security policy:

- os: Root.Chmod can follow symlinks out of the root on Linux

  On Linux, if the target of Root.Chmod is replaced with a symlink while
  the chmod operation is in progress, Chmod could operate on the target
  of the symlink, even when the target lies outside the root.

  The Linux fchmodat syscall silently ignores the AT_SYMLINK_NOFOLLOW flag,
  which Root.Chmod uses to avoid symlink traversal. Root.Chmod checks its
  target before acting and returns an error if the target is a symlink
  lying outside the root, so the impact is limited to cases where the
  target is replaced with a symlink between the check and operation.

  On Linux, Root.Chmod now uses the fchmodat2 syscall when available, and
  an workaround using /proc/self/fd otherwise.

  Thanks to Uuganbayar Lkhamsuren for reporting this issue.

  This is CVE-2026-32282 and Go issue https://go.dev/issue/78293.

- html/template: JS template literal context incorrectly tracked

  Context was not properly tracked across template branches for JS template
  literals, leading to possibly incorrect escaping of content when branches were
  used.

  Additionally template actions within JS template literals did not properly
  track
  the brace depth, leading to incorrect escaping being applied.

  These issues could cause actions within JS template literals to be incorrectly
  or improperly escaped, leading to XSS vulnerabilities.

  This only affects templates that use template actions within JS template
  literals.

  This is CVE-2026-32289 and Go issue https://go.dev/issue/78331.

- crypto/x509: excluded DNS constraints not properly applied to wildcard domains

  When verifying a certificate chain containing excluded DNS constraints, these
  constraints are not correctly applied to wildcard DNS SANs which use a
  different
  case than the constraint.

  For example, if a certificate contains the DNS name "*.example.com" and the
  excluded DNS name "EXAMPLE.COM", the constraint will not be applied.

  This only affects validation of otherwise trusted certificate chains, issued
  by
  a root CA in the VerifyOptions.Roots CertPool, or in the system certificate
  pool.

  This issue only affects Go 1.26.

  Thank you to Riyas from Saintgits College of Engineering, k1rnt, @1seal for
  reporting this issue.

  This is CVE-2026-33810 and Go issue https://go.dev/issue/78332.

- cmd/compile: no-op interface conversion bypasses overlap checking

  Previously, the compiler failed to unwrap pointers contained within
  a no-op interface conversion leading to an incorrect determination
  of a non-overlapping move.

  To prevent unsafe move operations, the compiler will now unwrap all
  such conversions before considering a move non-overlapping.

  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.

  This is CVE-2026-27144 and Go issue https://go.dev/issue/78371.

- cmd/compile: possible memory corruption after bound check elimination

  Previously, slices and arrays accessed using induction variables
  were sometimes incorrectly proved in-bound. If the induction variable
  used for indexing were to overflow or underflow, it could allow access
  to memory beyond the scope of the original slice or array.

  To prevent this behavior, the compiler ensures that any mutated induction
  variable that overflows/underflows with respect to its loop condition
  is not used for bound check elimination.

  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.

  This is CVE-2026-27143 and Go issue https://go.dev/issue/78333.

- archive/tar: unbounded allocation when parsing old format GNU sparse map

  tar.Reader could allocate an unbounded amount of memory when reading
  a maliciously-crafted archive containing a large number of sparse
  regions encoded in the "old GNU sparse map" format.

  We now limit both the number of old GNU sparse map extension blocks,
  and the total number of sparse file entries, regardless of encoding.

  Thanks to Colin Walters (wal...@verbum.org) who initially reported this issue.
  Thanks also to Uuganbayar Lkhamsuren (https://github.com/uug4na) and Jakub
  Ciolek
  who additionally reported this issue.

  This is CVE-2026-32288 and Go issue https://go.dev/issue/78301.

- crypto/tls: multiple key update handshake messages can cause connection to
  deadlock

  If one side of the TLS connection sends multiple key update messages
  post-handshake in a single record, the connection can deadlock, causing
  uncontrolled consumption of resources. This can lead to a denial of service.

  This only affects TLS 1.3.

  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.

  This is CVE-2026-32283 and Go issue https://go.dev/issue/78334.

- cmd/go: trust layer bypass when using cgo and SWIG

  A well-crafted SWIG source file could take advantage
  of a file-naming convention used inside the trust
  boundary of the cgo compiler. Doing so could result
  in arbitrary code execution during build time.

  SWIG files are disallowed from using this convention.

  Thank you to Juho Forsén of Mattermost for reporting this issue.

  This is CVE-2026-27140 and Go issue https://go.dev/issue/78335.

- crypto/x509: unexpected work during chain building

  During chain building, the amount of work that is done is not correctly
  limited
  when a large number of intermediate certificates are passed in
  VerifyOptions.Intermediates, which can lead to a denial of service. This
  affects
  both direct users of crypto/x509 and users of crypto/tls.

  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.

  This is CVE-2026-32280 and Go issue https://go.dev/issue/78282.

- crypto/x509: inefficient policy validation

  Validating certificate chains which use policies is unexpectedly inefficient
  when certificates in the chain contain a very large number of policy mappings,
  possibly causing denial of service.

  This only affects validation of otherwise trusted certificate chains, issued
  by
  a root CA in the VerifyOptions.Roots CertPool, or in the system certificate
  pool.

  Thank you to Jakub Ciolek - https://ciolek.dev/ for reporting this issue.

  This is CVE-2026-32281 and Go issue https://go.dev/issue/78281.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-08 00:43:19 +02:00
Sebastiaan van Stijn
fbaeaaf59d Merge pull request #52324 from thaJeztah/pin_registry
ci: buildkit: pin registry to v3.0.0
2026-04-07 13:43:26 +02:00
Sebastiaan van Stijn
00840cd39c ci: buildkit: pin registry to v3.0.0
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-07 12:34:26 +02:00
Akihiro Suda
a42f5e77be Merge pull request #51638 from AkihiroSuda/dockerfile-git
Dockerfile: use Git SourceOp
2026-04-07 19:14:02 +09:00
Akihiro Suda
f44956451a CI: add back ubuntu-24.04 + rootless
Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2026-04-06 07:49:00 +09:00
Sebastiaan van Stijn
70043cd439 ci: fix bin-image workflow
Looks like zizmor messed this one up as well in b588d1a594

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-05 14:21:16 +02:00
Akihiro Suda
d3a677d730 Dockerfile: use Git SourceOp
This will help adopting source policies in future.

A part of issue 51637

Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp>
2026-04-03 19:04:01 +09:00
Sebastiaan van Stijn
ad67096edf gha: validate-api-swagger: remove redundant 'make image'
Skip a redundant "make image", which is already called by both
`make validate-swagger` and `make validate-swagger-gen`

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-01 15:01:57 +02:00
Sebastiaan van Stijn
8769bda667 gha: buildkit: fix go version
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-01 15:01:51 +02:00
Sebastiaan van Stijn
e0999bd5ec update to go1.26.1
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-01 14:48:32 +02:00
Mend Renovate
281f4b6767 chore(deps): update actions/setup-go action to v6.4.0
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-30 04:44:20 +00:00
Sebastiaan van Stijn
d71f3ea5da ci: fix upload sarif action
This broke in b588d1a594, which updated
all actions to pin by sha, but a bug in `zizmor` doesn't handle
mono-repo actions; it stripped `/upload-sarif`, so now uses the
top-level action, which is "valid" but a stub (sigh!).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-03-28 00:18:18 +01:00
Mend Renovate
1769b3eb5d chore(deps): update github/codeql-action action to v4.35.1
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 17:44:33 +00:00
Sebastiaan van Stijn
7e29453b97 Merge pull request #52255 from renovate-bot/renovate/codecov-codecov-action-6.x
chore(deps): update codecov/codecov-action action to v6.0.0
2026-03-27 12:41:35 +01:00
Sebastiaan van Stijn
afa931a73f Merge pull request #52252 from renovate-bot/renovate/github-codeql-action-4.x
chore(deps): update github/codeql-action action to v4.34.1
2026-03-27 11:26:52 +01:00
Sebastiaan van Stijn
14c2361479 Merge pull request #52248 from renovate-bot/renovate/docker-github-builder-1.x
chore(deps): update docker/github-builder action to v1.4.0
2026-03-27 10:08:44 +01:00
Mend Renovate
5da773a71d chore(deps): update codecov/codecov-action action to v6
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 08:05:11 +00:00
Sebastiaan van Stijn
fa94f27954 Merge pull request #52251 from renovate-bot/renovate/codecov-codecov-action-5.x
chore(deps): update codecov/codecov-action action to v5.5.4
2026-03-27 09:02:58 +01:00
Mend Renovate
3fa5ec578b chore(deps): update github/codeql-action action to v4.34.1
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 06:58:44 +00:00
Sebastiaan van Stijn
f89d7cdf42 Merge pull request #52247 from renovate-bot/renovate/actions-setup-go-6.x
chore(deps): update actions/setup-go action to v6.3.0
2026-03-27 07:56:06 +01:00
Mend Renovate
0c7f2b3d38 chore(deps): update codecov/codecov-action action to v5.5.4
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 06:53:27 +00:00
Mend Renovate
c66815426c chore(deps): update docker/github-builder action to v1.4.0
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 00:45:07 +00:00
Mend Renovate
615cf6345f chore(deps): update actions/setup-go action to v6.3.0
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 00:41:03 +00:00
Mend Renovate
c36e70524b chore(deps): update actions/labeler action to v6.0.1
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-27 00:39:02 +00:00
Sebastiaan van Stijn
038900ce06 Merge pull request #52242 from renovate-bot/renovate/actions-download-artifact-8.x
chore(deps): update actions/download-artifact action to v8.0.1
2026-03-27 01:36:04 +01:00
Sebastiaan van Stijn
353f2740ee Merge pull request #52241 from renovate-bot/renovate/actions-checkout-6.x
chore(deps): update actions/checkout action to v6.0.2
2026-03-27 01:35:41 +01:00
Sebastiaan van Stijn
3c9dc3af08 Merge pull request #52238 from kovan/fix/remaining-broken-contributing-links
docs: fix remaining broken links in contributing docs
2026-03-26 22:32:22 +01:00
Mend Renovate
96343dd0b5 chore(deps): update actions/download-artifact action to v8.0.1
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-26 21:25:33 +00:00
Mend Renovate
49a4a47df5 chore(deps): update actions/checkout action to v6.0.2
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-26 21:25:26 +00:00
Mend Renovate
ce7b3aaa0e chore(deps): update actions/cache action to v5.0.4
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-26 20:08:48 +00:00
Kit Dallege
f7e4fff10b docs: fix remaining broken links in contributing docs
Replace two dead docs.docker.com links with correct in-repo paths:

- CONTRIBUTING.md: image link pointed to removed
  docs.docker.com/opensource/project/who-written-for/ page; now
  links to docs/contributing/who-written-for.md
- .github/PULL_REQUEST_TEMPLATE.md: contributing guide link pointed
  to removed docs.docker.com/opensource/code/ page; now links to
  docs/contributing/ on GitHub

Follow-up to #52228 which fixed most broken links but missed these two.

Fixes #45024

Signed-off-by: Kit Dallege <xaum.io@gmail.com>
2026-03-26 18:04:32 +01:00
Sebastiaan van Stijn
b588d1a594 ci: pin all actions
results of;

    zizmor --fix=all --min-severity=high .

as a follow-up we should use the full versions (but renovate may do
that for us).

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-03-25 15:02:30 +01:00
Sebastiaan van Stijn
7facd8648c Merge pull request #52218 from renovate-bot/renovate/docker-setup-qemu-action-4.x
chore(deps): update docker/setup-qemu-action action to v4
2026-03-25 15:00:49 +01:00
Mend Renovate
6f80a57b4f chore(deps): update docker/setup-qemu-action action to v4
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-25 11:02:10 +00:00
Mend Renovate
849efd0d3e chore(deps): update docker/setup-buildx-action action to v4
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-25 11:02:00 +00:00
Sebastiaan van Stijn
b66b2f77e0 ci: renovate: pin actions to digests
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-03-25 11:21:30 +01:00
CrazyMax
3cb98cb1b3 ci: update docker/bake-action v7
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-18 10:43:51 +01:00
Sebastiaan van Stijn
c266b4fe9b update to go1.25.8
go1.25.8 (released 2026-03-05) includes security fixes to the html/template,
net/url, and os packages, as well as bug fixes to the go command, the compiler,
and the os package. See the Go 1.25.8 milestone on our issue tracker for details.

- 1.25.8 https://github.com/golang/go/issues?q=milestone%3AGo1.25.8+label%3ACherryPickApproved
- diff: https://github.com/golang/go/compare/go1.25.7...go1.25.8
- 1.26.1 https://github.com/golang/go/issues?q=milestone%3AGo1.26.1+label%3ACherryPickApproved
- diff: https://github.com/golang/go/compare/go1.26.0...go1.26.1

---

We have just released Go versions 1.26.1 and 1.25.8, minor point releases.

These releases include 5 security fixes following the security policy:

crypto/x509: incorrect enforcement of email constraints

- When verifying a certificate chain which contains a certificate containing
  multiple email address constraints (composed of the full email address) which
  share common local portions (the portion of the address before the '@'
  character) but different domain portions (the portion of the address after the
  '@' character), these constraints will not be properly applied, and only the
  last constraint will be considered.

  This can allow certificates in the chain containing email addresses which are
  either not permitted or excluded by the relevant constraints to be returned by
  calls to Certificate.Verify. Since the name constraint checks happen after chain
  building is complete, this only applies to certificate chains which chain to
  trusted roots (root certificates either in VerifyOptions.Roots or in the system
  root certificate pool), requiring a trusted CA to issue certificates containing
  either not permitted or excluded email addresses.

  This issue only affects Go 1.26.

  Thanks to Jakub Ciolek for reporting this issue.

  This is CVE-2026-27137 and Go issue https://go.dev/issue/77952.

- crypto/x509: panic in name constraint checking for malformed certificates

  Certificate verification can panic when a certificate in the chain has an empty
  DNS name and another certificate in the chain has excluded name constraints.
  This can crash programs that are either directly verifying X.509 certificate
  chains, or those that use TLS.

  Since the name constraint checks happen after chain building is complete, this
  only applies to certificate chains which chain to trusted roots (root
  certificates either in VerifyOptions.Roots or in the system root certificate
  pool), requiring a trusted CA to issue certificates containing malformed DNS
  names.

  This issue only affects Go 1.26.

  Thanks to Jakub Ciolek for reporting this issue.

  This is CVE-2026-27138 and Go issue https://go.dev/issue/77953.

- html/template: URLs in meta content attribute actions are not escaped

  Actions which insert URLs into the content attribute of HTML meta tags are not
  escaped. This can allow XSS if the meta tag also has an http-equiv attribute
  with the value "refresh".

  A new GODEBUG setting has been added, htmlmetacontenturlescape, which can be
  used to disable escaping URLs in actions in the meta content attribute which
  follow "url=" by setting htmlmetacontenturlescape=0.

  This is CVE-2026-27142 and Go issue https://go.dev/issue/77954.

- net/url: reject IPv6 literal not at start of host

  The Go standard library function net/url.Parse insufficiently
  validated the host/authority component and accepted some invalid URLs
  by effectively treating garbage before an IP-literal as ignorable.
  The function should have rejected this as invalid.

  To prevent this behavior, net/url.Parse now rejects IPv6 literals
  that do not appear at the start of the host subcomponent of a URL.

  Thanks to Masaki Hara (https://github.com/qnighy) of Wantedly.

  This is CVE-2026-25679 and Go issue https://go.dev/issue/77578.

- os: FileInfo can escape from a Root

  On Unix platforms, when listing the contents of a directory using
  File.ReadDir or File.Readdir the returned FileInfo could reference
  a file outside of the Root in which the File was opened.

  The contents of the FileInfo were populated using the lstat system
  call, which takes the path to the file as a parameter. If a component
  of the full path of the file described by the FileInfo is replaced with
  a symbolic link, the target of the lstat can be directed to another
  location on the filesystem.

  The impact of this escape is limited to reading metadata provided by
  lstat from arbitrary locations on the filesystem. This could be used
  to probe for the presence or absence of files as well as gleaning
  metadata like file sizes, but does not permit reading or writing files
  outside the root.

  The FileInfo is now populated using fstatat.

  Thank you to Miloslav Trmač of Red Hat for reporting this issue.

  This is CVE-2026-27139 and Go issue https://go.dev/issue/77827.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-03-11 00:08:24 +01:00
Sebastiaan van Stijn
6d771cca95 Merge pull request #52137 from vvoland/label-notesting
gha/labeler: Remove *_test.go from area/testing label
2026-03-04 19:12:23 +01:00
Paweł Gronowski
71c48150eb gha/labeler: Remove *_test.go from area/testing label
The *_test.go pattern was causing excessive noise by labeling all PRs
that include test files with area/testing, even when the primary focus
of the PR was not testing infrastructure itself.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-03-04 18:32:27 +01:00
Mend Renovate
e5a54400b5 chore(deps): update crazy-max/ghaction-github-runtime action to v4
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-03-03 17:39:14 +00:00
Sebastiaan van Stijn
c89e45fec7 Merge pull request #52106 from vvoland/ci-vm-cgroup
gha/vm: Limit to cgroup-related integration packages
2026-03-03 13:58:12 +01:00
Mend Renovate
57e197fd21 chore(deps): update github artifact actions
Signed-off-by: Mend Renovate <bot@renovateapp.com>
2026-02-27 18:17:54 +00:00
Paweł Gronowski
4e606a0154 gha/vm: Limit to cgroup-related integration packages
Running the entire integration test suite in a VM is very long and takes
almost an hour. Combined with flaky tests this puts heavy burden on the
CI resources.

Since the primary purpose of the VM tests is to validate cgroup v1
functionality (using Oracle Linux 8), make it only run integration
packages that contain cgroup-specific test coverage.

Signed-off-by: Paweł Gronowski <pawel.gronowski@docker.com>
2026-02-27 17:30:12 +01:00