Skip to content

Commit 162fa3b

Browse files
authored
[Medium] Patch docker-buildx for CVE-2025-22872 (#13640)
Signed-off-by: Sreenivasulu Malavathula <v-smalavathu@microsoft.com>
1 parent b599c2e commit 162fa3b

2 files changed

Lines changed: 47 additions & 1 deletion

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
From 3d8f07a885376e45fcffcb5c4e33a867a951935b Mon Sep 17 00:00:00 2001
2+
From: Sreenivasulu Malavathula <v-smalavathu@microsoft.com>
3+
Date: Tue, 29 Apr 2025 18:29:16 -0500
4+
Subject: [PATCH] Address CVE-2025-22872
5+
Upstream Patch Reference: https://github.com/golang/net/commit/e1fcd82abba34df74614020343be8eb1fe85f0d9
6+
7+
---
8+
vendor/golang.org/x/net/html/token.go | 18 ++++++++++++++++--
9+
1 file changed, 16 insertions(+), 2 deletions(-)
10+
11+
diff --git a/vendor/golang.org/x/net/html/token.go b/vendor/golang.org/x/net/html/token.go
12+
index 3c57880..6598c1f 100644
13+
--- a/vendor/golang.org/x/net/html/token.go
14+
+++ b/vendor/golang.org/x/net/html/token.go
15+
@@ -839,8 +839,22 @@ func (z *Tokenizer) readStartTag() TokenType {
16+
if raw {
17+
z.rawTag = strings.ToLower(string(z.buf[z.data.start:z.data.end]))
18+
}
19+
- // Look for a self-closing token like "<br/>".
20+
- if z.err == nil && z.buf[z.raw.end-2] == '/' {
21+
+ // Look for a self-closing token (e.g. <br/>).
22+
+ //
23+
+ // Originally, we did this by just checking that the last character of the
24+
+ // tag (ignoring the closing bracket) was a solidus (/) character, but this
25+
+ // is not always accurate.
26+
+ //
27+
+ // We need to be careful that we don't misinterpret a non-self-closing tag
28+
+ // as self-closing, as can happen if the tag contains unquoted attribute
29+
+ // values (i.e. <p a=/>).
30+
+ //
31+
+ // To avoid this, we check that the last non-bracket character of the tag
32+
+ // (z.raw.end-2) isn't the same character as the last non-quote character of
33+
+ // the last attribute of the tag (z.pendingAttr[1].end-1), if the tag has
34+
+ // attributes.
35+
+ nAttrs := len(z.attr)
36+
+ if z.err == nil && z.buf[z.raw.end-2] == '/' && (nAttrs == 0 || z.raw.end-2 != z.attr[nAttrs-1][1].end-1) {
37+
return SelfClosingTagToken
38+
}
39+
return StartTagToken
40+
--
41+
2.45.2
42+

SPECS/docker-buildx/docker-buildx.spec

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Summary: A Docker CLI plugin for extended build capabilities with BuildKi
44
Name: docker-buildx
55
# update "commit_hash" above when upgrading version
66
Version: 0.14.0
7-
Release: 5%{?dist}
7+
Release: 6%{?dist}
88
License: ASL 2.0
99
Group: Tools/Container
1010
Vendor: Microsoft Corporation
@@ -15,6 +15,7 @@ Patch0: CVE-2024-45337.patch
1515
Patch1: CVE-2024-45338.patch
1616
Patch2: CVE-2025-22869.patch
1717
Patch3: CVE-2025-0495.patch
18+
Patch4: CVE-2025-22872.patch
1819

1920
BuildRequires: bash
2021
BuildRequires: golang
@@ -48,6 +49,9 @@ install -m 755 buildx "%{buildroot}%{_libexecdir}/docker/cli-plugins/docker-buil
4849
%{_libexecdir}/docker/cli-plugins/docker-buildx
4950

5051
%changelog
52+
* Wed May 21 2025 Sreeniavsulu Malavathula <v-smalavathu@microsoft.com> - 0.14-0-6
53+
- Patch CVE-2025-22872
54+
5155
* Tue May 13 2025 Sandeep Karambelkar <skarambelkar@microsoft.com> - 0.14.0-5
5256
- Fix CVE-2025-0495 with upstream patch modified to apply for azurelinux package
5357

0 commit comments

Comments
 (0)