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
|
Summary: A GNU collection of binary utilities
|
||||||
Name: binutils%{?_with_debug:-debug}
|
Name: binutils%{?_with_debug:-debug}
|
||||||
Version: 2.41
|
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
|
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
|
URL: https://sourceware.org/binutils
|
||||||
|
|
||||||
@ -256,6 +256,11 @@ Patch17: binutils-riscv-testsuite-fixes.patch
|
|||||||
# Lifetime: Fixed in 2.42
|
# Lifetime: Fixed in 2.42
|
||||||
Patch18: binutils-gold-powerpc.patch
|
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)
|
Provides: bundled(libiberty)
|
||||||
@ -1255,6 +1260,9 @@ exit 0
|
|||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
%changelog
|
%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
|
* Thu Oct 12 2023 Nick Clifton <nickc@redhat.com> - 2.41-6
|
||||||
- Enable warnings about executable stacks by default.
|
- Enable warnings about executable stacks by default.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user