diff options
| author | Peter Marko <peter.marko@siemens.com> | 2025-10-21 00:09:10 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-10-27 11:37:43 +0000 |
| commit | 5b2ea2b50ee6d4ead1e4dd8466de3047b20b8e10 (patch) | |
| tree | eb771f961ad12f1ce5275702f1c99fdeebc78c19 /meta/recipes-devtools/binutils | |
| parent | 52f475fd131f5f5d2931442fb041c5efeccad356 (diff) | |
| download | poky-5b2ea2b50ee6d4ead1e4dd8466de3047b20b8e10.tar.gz | |
binutils: patch CVE-2025-11413
Pick commit per NVD CVE report.
Note that there were two patches for this, first [1] and then [2].
The second patch moved the original patch to different location.
Cherry-pick of second patch is successful leaving out the code removing
the code from first location, so the patch attached here is not
identical to the upstream commit but is identical to applying both and
merging them to a single patch.
[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=1108620d7a521f1c85d2f629031ce0fbae14e331
[2] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=72efdf166aa0ed72ecc69fc2349af6591a7a19c0
(From OE-Core rev: 98df728e6136d04af0f4922b7ffbeffb704de395)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/binutils')
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils-2.45.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/binutils/binutils/CVE-2025-11413.patch | 38 |
2 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-devtools/binutils/binutils-2.45.inc b/meta/recipes-devtools/binutils/binutils-2.45.inc index ffd6c3b238..62b5bf6c26 100644 --- a/meta/recipes-devtools/binutils/binutils-2.45.inc +++ b/meta/recipes-devtools/binutils/binutils-2.45.inc | |||
| @@ -41,4 +41,5 @@ SRC_URI = "\ | |||
| 41 | file://0017-CVE-2025-11083.patch \ | 41 | file://0017-CVE-2025-11083.patch \ |
| 42 | file://CVE-2025-11414.patch \ | 42 | file://CVE-2025-11414.patch \ |
| 43 | file://CVE-2025-11412.patch \ | 43 | file://CVE-2025-11412.patch \ |
| 44 | file://CVE-2025-11413.patch \ | ||
| 44 | " | 45 | " |
diff --git a/meta/recipes-devtools/binutils/binutils/CVE-2025-11413.patch b/meta/recipes-devtools/binutils/binutils/CVE-2025-11413.patch new file mode 100644 index 0000000000..1467d38049 --- /dev/null +++ b/meta/recipes-devtools/binutils/binutils/CVE-2025-11413.patch | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | From 72efdf166aa0ed72ecc69fc2349af6591a7a19c0 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Alan Modra <amodra@gmail.com> | ||
| 3 | Date: Thu, 25 Sep 2025 10:41:32 +0930 | ||
| 4 | Subject: [PATCH] Re: elf: Disallow the empty global symbol name | ||
| 5 | |||
| 6 | sparc64-linux-gnu +FAIL: selective2 | ||
| 7 | sparc64-linux-gnu +FAIL: selective3 | ||
| 8 | |||
| 9 | PR ld/33456 | ||
| 10 | * elflink.c (elf_link_add_object_symbols): Move new check later | ||
| 11 | to give the backend add_symbol_hook a chance to remove symbols | ||
| 12 | with empty names. | ||
| 13 | |||
| 14 | CVE: CVE-2025-11413 | ||
| 15 | Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=72efdf166aa0ed72ecc69fc2349af6591a7a19c0] | ||
| 16 | Signed-off-by: Peter Marko <peter.marko@siemens.com> | ||
| 17 | --- | ||
| 18 | bfd/elflink.c | 7 +++++++ | ||
| 19 | 1 file changed, 7 insertions(+) | ||
| 20 | |||
| 21 | diff --git a/bfd/elflink.c b/bfd/elflink.c | ||
| 22 | index 0a0456177c2..5c8b822e36a 100644 | ||
| 23 | --- a/bfd/elflink.c | ||
| 24 | +++ b/bfd/elflink.c | ||
| 25 | @@ -5118,6 +5118,13 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info) | ||
| 26 | continue; | ||
| 27 | } | ||
| 28 | |||
| 29 | + if (name[0] == '\0') | ||
| 30 | + { | ||
| 31 | + _bfd_error_handler (_("%pB: corrupt symbol table"), abfd); | ||
| 32 | + bfd_set_error (bfd_error_bad_value); | ||
| 33 | + goto error_free_vers; | ||
| 34 | + } | ||
| 35 | + | ||
| 36 | /* Sanity check that all possibilities were handled. */ | ||
| 37 | if (sec == NULL) | ||
| 38 | abort (); | ||
