mirror of
https://git.yoctoproject.org/poky
synced 2026-09-13 09:49:32 +02:00
binutils: Fix CVE-2025-1178
Prevent an abort in the bfd linker when attempting to generate dynamic relocs for a corrupt input file. PR 32638 Backport a patch from upstream to fix CVE-2025-1178 Upstream-Status: Backport from [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=75086e9de1707281172cc77f178e7949a4414ed0] (From OE-Core rev: 3325b9dfd7a0da2236c96630b67ac2c6d4375840) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
717fb8a016
commit
9776909c9b
@@ -35,5 +35,6 @@ SRC_URI = "\
|
|||||||
file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
|
file://0012-Only-generate-an-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch \
|
||||||
file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
|
file://0013-Define-alignof-using-_Alignof-when-using-C11-or-newe.patch \
|
||||||
file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
|
file://0014-Remove-duplicate-pe-dll.o-entry-deom-targ_extra_ofil.patch \
|
||||||
|
file://0015-CVE-2025-1178.patch \
|
||||||
"
|
"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|||||||
@@ -0,0 +1,33 @@
|
|||||||
|
From 75086e9de1707281172cc77f178e7949a4414ed0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nick Clifton <nickc@redhat.com>
|
||||||
|
Date: Wed, 5 Feb 2025 13:26:51 +0000
|
||||||
|
Subject: [PATCH] Prevent an abort in the bfd linker when attempting to
|
||||||
|
generate dynamic relocs for a corrupt input file.
|
||||||
|
|
||||||
|
PR 32638
|
||||||
|
|
||||||
|
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=75086e9de1707281172cc77f178e7949a4414ed0]
|
||||||
|
CVE: CVE-2025-1178
|
||||||
|
|
||||||
|
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
|
||||||
|
|
||||||
|
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
|
||||||
|
index cb32732e..a08e9c97 100644
|
||||||
|
--- a/bfd/elf64-x86-64.c
|
||||||
|
+++ b/bfd/elf64-x86-64.c
|
||||||
|
@@ -5031,6 +5031,15 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
|
||||||
|
|
||||||
|
if (generate_dynamic_reloc)
|
||||||
|
{
|
||||||
|
+ /* If the relgot section has not been created, then
|
||||||
|
+ generate an error instead of a reloc. cf PR 32638. */
|
||||||
|
+ if (relgot == NULL || relgot->size == 0)
|
||||||
|
+ {
|
||||||
|
+ info->callbacks->einfo (_("%F%pB: Unable to generate dynamic relocs because a suitable section does not exist\n"),
|
||||||
|
+ output_bfd);
|
||||||
|
+ return false;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (relative_reloc_name != NULL
|
||||||
|
&& htab->params->report_relative_reloc)
|
||||||
|
_bfd_x86_elf_link_report_relative_reloc
|
||||||
Reference in New Issue
Block a user