]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
binutils: patch CVE-2025-11413
authorPeter Marko <peter.marko@siemens.com>
Mon, 20 Oct 2025 22:09:10 +0000 (00:09 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 27 Oct 2025 11:37:39 +0000 (11:37 +0000)
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

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>
meta/recipes-devtools/binutils/binutils-2.45.inc
meta/recipes-devtools/binutils/binutils/CVE-2025-11413.patch [new file with mode: 0644]

index ffd6c3b23882b04e4ce761beee8fce2def67a789..62b5bf6c264ef0609759f945998036ee61802a2b 100644 (file)
@@ -41,4 +41,5 @@ SRC_URI = "\
      file://0017-CVE-2025-11083.patch \
      file://CVE-2025-11414.patch \
      file://CVE-2025-11412.patch \
+     file://CVE-2025-11413.patch \
 "
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 (file)
index 0000000..1467d38
--- /dev/null
@@ -0,0 +1,38 @@
+From 72efdf166aa0ed72ecc69fc2349af6591a7a19c0 Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Thu, 25 Sep 2025 10:41:32 +0930
+Subject: [PATCH] Re: elf: Disallow the empty global symbol name
+
+sparc64-linux-gnu  +FAIL: selective2
+sparc64-linux-gnu  +FAIL: selective3
+
+       PR ld/33456
+       * elflink.c (elf_link_add_object_symbols): Move new check later
+       to give the backend add_symbol_hook a chance to remove symbols
+       with empty names.
+
+CVE: CVE-2025-11413
+Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=72efdf166aa0ed72ecc69fc2349af6591a7a19c0]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ bfd/elflink.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/bfd/elflink.c b/bfd/elflink.c
+index 0a0456177c2..5c8b822e36a 100644
+--- a/bfd/elflink.c
++++ b/bfd/elflink.c
+@@ -5118,6 +5118,13 @@ elf_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
+           continue;
+       }
++      if (name[0] == '\0')
++      {
++        _bfd_error_handler (_("%pB: corrupt symbol table"), abfd);
++        bfd_set_error (bfd_error_bad_value);
++        goto error_free_vers;
++      }
++
+       /* Sanity check that all possibilities were handled.  */
+       if (sec == NULL)
+       abort ();