CBL-Mariner/SPECS/binutils/CVE-2022-4285.patch

54 строки
1.8 KiB
Diff

From 3b06afcf3514c63bfa2d55c1aade7cd1e684f056 Mon Sep 17 00:00:00 2001
From: Rachel <rachelmenge@microsoft.com>
Date: Thu, 9 Feb 2023 01:07:12 -0500
Subject: [PATCH] Patch binutils for CVE-2022-4285
From: Nick Clifton <nickc@redhat.com>
Date: Wed, 19 Oct 2022 14:09:12 +0000 (+0100)
Subject: Fix an illegal memory access when parsing an ELF file containing corrupt symbol versi...
X-Git-Tag: gdb-13-branchpoint~796
X-Git-Url: https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff_plain;h=5c831a3c7f3ca98d6aba1200353311e1a1f84c70;hp=feab6abfe23b5b1724cb3c00059254e8f1bc5225
Fix an illegal memory access when parsing an ELF file containing corrupt symbol version information.
PR 29699
* elf.c (_bfd_elf_slurp_version_tables): Fail if the sh_info field
of the section header is zero
---
bfd/ChangeLog | 6 ++++++
bfd/elf.c | 4 +++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 75ca29c0..575e28cf 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2022-10-19 Nick Clifton <nickc@redhat.com>
+
+ PR 29699
+ * elf.c (_bfd_elf_slurp_version_tables): Fail if the sh_info field
+ of the section header is zero.
+
2021-07-18 Nick Clifton <nickc@redhat.com>
* 2.37 release.
diff --git a/bfd/elf.c b/bfd/elf.c
index de5abafa..eddc6304 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -8751,7 +8751,9 @@ _bfd_elf_slurp_version_tables (bfd *abfd, bool default_imported_symver)
bfd_set_error (bfd_error_file_too_big);
goto error_return_verref;
}
- elf_tdata (abfd)->verref = (Elf_Internal_Verneed *) bfd_alloc (abfd, amt);
+ if (amt == 0)
+ goto error_return_verref;
+ elf_tdata (abfd)->verref = (Elf_Internal_Verneed *) bfd_zalloc (abfd, amt);
if (elf_tdata (abfd)->verref == NULL)
goto error_return_verref;
--
2.25.1