Skip to content

Commit c180a6f

Browse files
[AUTO-CHERRYPICK] Patch dcos-cli for CVE-2025-27144 [Medium] - branch 3.0-dev (#13036)
Co-authored-by: Kanishk Bansal <103916909+Kanishk-Bansal@users.noreply.github.com>
1 parent 0a527a2 commit c180a6f

2 files changed

Lines changed: 55 additions & 1 deletion

File tree

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
From fa324fa38481f9d2da9109cb5983326f62ff7507 Mon Sep 17 00:00:00 2001
2+
From: Kanishk-Bansal <kbkanishk975@gmail.com>
3+
Date: Fri, 28 Feb 2025 07:45:53 +0000
4+
Subject: [PATCH] CVE-2025-27144
5+
Upstream Ref: https://github.com/go-jose/go-jose/commit/c9ed84d8f0cfadcfad817150158caca6fcbc518b
6+
7+
---
8+
vendor/gopkg.in/square/go-jose.v2/jwe.go | 5 +++--
9+
vendor/gopkg.in/square/go-jose.v2/jws.go | 5 +++--
10+
2 files changed, 6 insertions(+), 4 deletions(-)
11+
12+
diff --git a/vendor/gopkg.in/square/go-jose.v2/jwe.go b/vendor/gopkg.in/square/go-jose.v2/jwe.go
13+
index b5a6dcd..cd1de9e 100644
14+
--- a/vendor/gopkg.in/square/go-jose.v2/jwe.go
15+
+++ b/vendor/gopkg.in/square/go-jose.v2/jwe.go
16+
@@ -201,10 +201,11 @@ func (parsed *rawJSONWebEncryption) sanitized() (*JSONWebEncryption, error) {
17+
18+
// parseEncryptedCompact parses a message in compact format.
19+
func parseEncryptedCompact(input string) (*JSONWebEncryption, error) {
20+
- parts := strings.Split(input, ".")
21+
- if len(parts) != 5 {
22+
+ // Five parts is four separators
23+
+ if strings.Count(input, ".") != 4 {
24+
return nil, fmt.Errorf("square/go-jose: compact JWE format must have five parts")
25+
}
26+
+ parts := strings.SplitN(input, ".", 5)
27+
28+
rawProtected, err := base64.RawURLEncoding.DecodeString(parts[0])
29+
if err != nil {
30+
diff --git a/vendor/gopkg.in/square/go-jose.v2/jws.go b/vendor/gopkg.in/square/go-jose.v2/jws.go
31+
index 7e261f9..a8d55fb 100644
32+
--- a/vendor/gopkg.in/square/go-jose.v2/jws.go
33+
+++ b/vendor/gopkg.in/square/go-jose.v2/jws.go
34+
@@ -275,10 +275,11 @@ func (parsed *rawJSONWebSignature) sanitized() (*JSONWebSignature, error) {
35+
36+
// parseSignedCompact parses a message in compact format.
37+
func parseSignedCompact(input string, payload []byte) (*JSONWebSignature, error) {
38+
- parts := strings.Split(input, ".")
39+
- if len(parts) != 3 {
40+
+ // Three parts is two separators
41+
+ if strings.Count(input, ".") != 2 {
42+
return nil, fmt.Errorf("square/go-jose: compact JWS format must have three parts")
43+
}
44+
+ parts := strings.SplitN(input, ".", 3)
45+
46+
if parts[1] != "" && payload != nil {
47+
return nil, fmt.Errorf("square/go-jose: payload is not detached")
48+
--
49+
2.45.2
50+

SPECS/dcos-cli/dcos-cli.spec

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Summary: The command line for DC/OS
22
Name: dcos-cli
33
Version: 1.2.0
4-
Release: 16%{?dist}
4+
Release: 17%{?dist}
55
License: Apache-2.0
66
Vendor: Microsoft Corporation
77
Distribution: Azure Linux
@@ -10,6 +10,7 @@ URL: https://github.com/dcos/dcos-cli
1010
Source0: https://github.com/dcos/dcos-cli/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
1111
Patch0: CVE-2020-26160.patch
1212
Patch1: CVE-2024-28180.patch
13+
Patch2: CVE-2025-27144.patch
1314
BuildRequires: golang >= 1.17.1
1415
BuildRequires: git
1516
%global debug_package %{nil}
@@ -46,6 +47,9 @@ go test -mod=vendor
4647
%{_bindir}/dcos
4748

4849
%changelog
50+
* Sat Mar 01 2025 Kanishk Bansal <kanbansal@microsoft.com> - 1.2.0-17
51+
- Fix CVE-2025-27144 with an upstream patch
52+
4953
* Tue Oct 01 2024 Henry Li <lihl@microsoft.com> - 1.2.0-16
5054
- Add patch to resolve CVE-2024-28180
5155

0 commit comments

Comments
 (0)