Skip to content

Commit 36cdfa1

Browse files
[AUTO-CHERRYPICK] [Medium] Fix CVE-2025-0840 for binutils - branch main (#12387)
Co-authored-by: Sudipta Pandit <sudpandit@microsoft.com>
1 parent 7205af3 commit 36cdfa1

6 files changed

Lines changed: 65 additions & 13 deletions

File tree

SPECS/binutils/CVE-2025-0840.patch

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
From e8f8cb0a82fe67fcac9ace1efd38b178748a72ca Mon Sep 17 00:00:00 2001
2+
From: Sudipta Pandit <sudpandit@microsoft.com>
3+
Date: Tue, 4 Feb 2025 16:39:33 +0530
4+
Subject: [PATCH] Backport patch for CVE-2025-0840 for binutils
5+
6+
Reference: https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=baac6c221e9d69335bf41366a1c7d87d8ab2f893
7+
---
8+
binutils/objdump.c | 10 ++++++----
9+
1 file changed, 6 insertions(+), 4 deletions(-)
10+
11+
diff --git a/binutils/objdump.c b/binutils/objdump.c
12+
index a7b8303b..98e0271a 100644
13+
--- a/binutils/objdump.c
14+
+++ b/binutils/objdump.c
15+
@@ -109,7 +109,8 @@ static bool disassemble_all; /* -D */
16+
static int disassemble_zeroes; /* --disassemble-zeroes */
17+
static bool formats_info; /* -i */
18+
static int wide_output; /* -w */
19+
-static int insn_width; /* --insn-width */
20+
+#define MAX_INSN_WIDTH 49
21+
+static unsigned long insn_width; /* --insn-width */
22+
static bfd_vma start_address = (bfd_vma) -1; /* --start-address */
23+
static bfd_vma stop_address = (bfd_vma) -1; /* --stop-address */
24+
static int dump_debugging; /* --debugging */
25+
@@ -2762,7 +2763,7 @@ disassemble_bytes (struct disassemble_info *inf,
26+
}
27+
else
28+
{
29+
- char buf[50];
30+
+ char buf[MAX_INSN_WIDTH + 1];
31+
unsigned int bpc = 0;
32+
unsigned int pb = 0;
33+
34+
@@ -5297,8 +5298,9 @@ main (int argc, char **argv)
35+
break;
36+
case OPTION_INSN_WIDTH:
37+
insn_width = strtoul (optarg, NULL, 0);
38+
- if (insn_width <= 0)
39+
- fatal (_("error: instruction width must be positive"));
40+
+ if (insn_width - 1 >= MAX_INSN_WIDTH)
41+
+ fatal (_("error: instruction width must be in the range 1 to "
42+
+ XSTRING (MAX_INSN_WIDTH)));
43+
break;
44+
case OPTION_INLINES:
45+
unwind_inlines = true;
46+
--
47+
2.34.1
48+

SPECS/binutils/binutils.spec

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
Summary: Contains a linker, an assembler, and other tools
2222
Name: binutils
2323
Version: 2.37
24-
Release: 10%{?dist}
24+
Release: 11%{?dist}
2525
License: GPLv2+
2626
Vendor: Microsoft Corporation
2727
Distribution: Mariner
@@ -45,6 +45,7 @@ Patch10: CVE-2022-47011.patch
4545
Patch11: CVE-2022-48063.patch
4646
Patch12: CVE-2023-1972.patch
4747
Patch13: CVE-2022-35205.patch
48+
Patch14: CVE-2025-0840.patch
4849
Provides: bundled(libiberty)
4950

5051
# Moving macro before the "SourceX" tags breaks PR checks parsing the specs.
@@ -301,6 +302,9 @@ find %{buildroot} -type f -name "*.la" -delete -print
301302
%do_files aarch64-linux-gnu %{build_aarch64}
302303

303304
%changelog
305+
* Tue Feb 04 2025 Sudipta Pandit <sudpandit@microsoft.com> - 2.37-11
306+
- Backport patch to fix CVE-2025-0840
307+
304308
* Thu Nov 14 2024 Thien Trung Vuong <tvuong@microsoft.com> - 2.37-10
305309
- Added patch to fix CVE-2023-1972, CVE-2022-48063, CVE-2022-35205
306310

toolkit/resources/manifests/package/pkggen_core_aarch64.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ zlib-devel-1.2.13-2.cm2.aarch64.rpm
1212
file-5.40-3.cm2.aarch64.rpm
1313
file-devel-5.40-3.cm2.aarch64.rpm
1414
file-libs-5.40-3.cm2.aarch64.rpm
15-
binutils-2.37-10.cm2.aarch64.rpm
16-
binutils-devel-2.37-10.cm2.aarch64.rpm
15+
binutils-2.37-11.cm2.aarch64.rpm
16+
binutils-devel-2.37-11.cm2.aarch64.rpm
1717
gmp-6.2.1-4.cm2.aarch64.rpm
1818
gmp-devel-6.2.1-4.cm2.aarch64.rpm
1919
mpfr-4.1.0-2.cm2.aarch64.rpm

toolkit/resources/manifests/package/pkggen_core_x86_64.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ zlib-devel-1.2.13-2.cm2.x86_64.rpm
1212
file-5.40-3.cm2.x86_64.rpm
1313
file-devel-5.40-3.cm2.x86_64.rpm
1414
file-libs-5.40-3.cm2.x86_64.rpm
15-
binutils-2.37-10.cm2.x86_64.rpm
16-
binutils-devel-2.37-10.cm2.x86_64.rpm
15+
binutils-2.37-11.cm2.x86_64.rpm
16+
binutils-devel-2.37-11.cm2.x86_64.rpm
1717
gmp-6.2.1-4.cm2.x86_64.rpm
1818
gmp-devel-6.2.1-4.cm2.x86_64.rpm
1919
mpfr-4.1.0-2.cm2.x86_64.rpm

toolkit/resources/manifests/package/toolchain_aarch64.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ bash-5.1.8-4.cm2.aarch64.rpm
99
bash-debuginfo-5.1.8-4.cm2.aarch64.rpm
1010
bash-devel-5.1.8-4.cm2.aarch64.rpm
1111
bash-lang-5.1.8-4.cm2.aarch64.rpm
12-
binutils-2.37-10.cm2.aarch64.rpm
13-
binutils-debuginfo-2.37-10.cm2.aarch64.rpm
14-
binutils-devel-2.37-10.cm2.aarch64.rpm
12+
binutils-2.37-11.cm2.aarch64.rpm
13+
binutils-debuginfo-2.37-11.cm2.aarch64.rpm
14+
binutils-devel-2.37-11.cm2.aarch64.rpm
1515
bison-3.7.6-2.cm2.aarch64.rpm
1616
bison-debuginfo-3.7.6-2.cm2.aarch64.rpm
1717
bzip2-1.0.8-1.cm2.aarch64.rpm

toolkit/resources/manifests/package/toolchain_x86_64.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ bash-5.1.8-4.cm2.x86_64.rpm
99
bash-debuginfo-5.1.8-4.cm2.x86_64.rpm
1010
bash-devel-5.1.8-4.cm2.x86_64.rpm
1111
bash-lang-5.1.8-4.cm2.x86_64.rpm
12-
binutils-2.37-10.cm2.x86_64.rpm
13-
binutils-aarch64-linux-gnu-2.37-10.cm2.x86_64.rpm
14-
binutils-debuginfo-2.37-10.cm2.x86_64.rpm
15-
binutils-devel-2.37-10.cm2.x86_64.rpm
12+
binutils-2.37-11.cm2.x86_64.rpm
13+
binutils-aarch64-linux-gnu-2.37-11.cm2.x86_64.rpm
14+
binutils-debuginfo-2.37-11.cm2.x86_64.rpm
15+
binutils-devel-2.37-11.cm2.x86_64.rpm
1616
bison-3.7.6-2.cm2.x86_64.rpm
1717
bison-debuginfo-3.7.6-2.cm2.x86_64.rpm
1818
bzip2-1.0.8-1.cm2.x86_64.rpm
@@ -47,7 +47,7 @@ cracklib-lang-2.9.7-5.cm2.x86_64.rpm
4747
createrepo_c-0.17.5-1.cm2.x86_64.rpm
4848
createrepo_c-debuginfo-0.17.5-1.cm2.x86_64.rpm
4949
createrepo_c-devel-0.17.5-1.cm2.x86_64.rpm
50-
cross-binutils-common-2.37-10.cm2.noarch.rpm
50+
cross-binutils-common-2.37-11.cm2.noarch.rpm
5151
cross-gcc-common-11.2.0-8.cm2.noarch.rpm
5252
curl-8.8.0-3.cm2.x86_64.rpm
5353
curl-debuginfo-8.8.0-3.cm2.x86_64.rpm

0 commit comments

Comments
 (0)