Fix a potential NULL pointer derefence when parsing corrupt ELF symbol version information. (#2243769)
This commit is contained in:
parent
d294fe2ca4
commit
c2d4243912
29
binutils-handle-corrupt-version-info.patch
Normal file
29
binutils-handle-corrupt-version-info.patch
Normal file
@ -0,0 +1,29 @@
|
||||
--- binutils.orig/bfd/elf.c 2023-10-13 11:38:25.159530287 +0100
|
||||
+++ binutils-2.41/bfd/elf.c 2023-10-13 11:41:23.290898228 +0100
|
||||
@@ -9479,6 +9479,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd
|
||||
if (elf_use_dt_symtab_p (abfd))
|
||||
iverneed->vn_filename
|
||||
= elf_tdata (abfd)->dt_strtab + iverneed->vn_file;
|
||||
+ else if (hdr == NULL)
|
||||
+ goto error_return_bad_verref;
|
||||
else
|
||||
iverneed->vn_filename
|
||||
= bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
|
||||
@@ -9516,6 +9518,8 @@ _bfd_elf_slurp_version_tables (bfd *abfd
|
||||
if (elf_use_dt_symtab_p (abfd))
|
||||
ivernaux->vna_nodename
|
||||
= elf_tdata (abfd)->dt_strtab + ivernaux->vna_name;
|
||||
+ else if (hdr == NULL)
|
||||
+ goto error_return_bad_verref;
|
||||
else
|
||||
ivernaux->vna_nodename
|
||||
= bfd_elf_string_from_elf_section (abfd, hdr->sh_link,
|
||||
@@ -9546,7 +9550,7 @@ _bfd_elf_slurp_version_tables (bfd *abfd
|
||||
iverneed->vn_nextref = NULL;
|
||||
if (iverneed->vn_next == 0)
|
||||
break;
|
||||
- if (i + 1 < hdr->sh_info)
|
||||
+ if (hdr != NULL && (i + 1 < hdr->sh_info))
|
||||
iverneed->vn_nextref = iverneed + 1;
|
||||
|
||||
if (iverneed->vn_next
|
@ -2,7 +2,7 @@
|
||||
Summary: A GNU collection of binary utilities
|
||||
Name: binutils%{?_with_debug:-debug}
|
||||
Version: 2.41
|
||||
Release: 6%{?dist}
|
||||
Release: 7%{?dist}
|
||||
License: GPL-3.0-or-later AND (GPL-3.0-or-later WITH Bison-exception-2.2) AND (LGPL-2.0-or-later WITH GCC-exception-2.0) AND BSD-3-Clause AND GFDL-1.3-or-later AND GPL-2.0-or-later LGPL-2.1-or-later AND LGPL-2.0-or-later
|
||||
URL: https://sourceware.org/binutils
|
||||
|
||||
@ -256,6 +256,11 @@ Patch17: binutils-riscv-testsuite-fixes.patch
|
||||
# Lifetime: Fixed in 2.42
|
||||
Patch18: binutils-gold-powerpc.patch
|
||||
|
||||
# Purpose: Fix a potential NULL pointer dereference when parsing corrupt
|
||||
# ELF symbol version information.
|
||||
# Lifetime: Fixed in 2.42
|
||||
Patch19: binutils-handle-corrupt-version-info.patch
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
Provides: bundled(libiberty)
|
||||
@ -1255,6 +1260,9 @@ exit 0
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
%changelog
|
||||
* Fri Oct 13 2023 Nick Clifton <nickc@redhat.com> - 2.41-7
|
||||
- Fix a potential NULL pointer derefence when parsing corrupt ELF symbol version information. (#2243769)
|
||||
|
||||
* Thu Oct 12 2023 Nick Clifton <nickc@redhat.com> - 2.41-6
|
||||
- Enable warnings about executable stacks by default.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user