diff options
Diffstat (limited to 'meta/recipes-devtools/elfutils/files/CVE-2025-1371.patch')
-rw-r--r-- | meta/recipes-devtools/elfutils/files/CVE-2025-1371.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-devtools/elfutils/files/CVE-2025-1371.patch b/meta/recipes-devtools/elfutils/files/CVE-2025-1371.patch new file mode 100644 index 0000000000..9ecb045f82 --- /dev/null +++ b/meta/recipes-devtools/elfutils/files/CVE-2025-1371.patch | |||
@@ -0,0 +1,41 @@ | |||
1 | From b38e562a4c907e08171c76b8b2def8464d5a104a Mon Sep 17 00:00:00 2001 | ||
2 | From: Mark Wielaard <mark@klomp.org> | ||
3 | Date: Sun, 9 Feb 2025 00:07:13 +0100 | ||
4 | Subject: [PATCH] readelf: Handle NULL phdr in handle_dynamic_symtab | ||
5 | |||
6 | A corrupt ELF file can have broken program headers, in which case | ||
7 | gelf_getphdr returns NULL. This could crash handle_dynamic_symtab | ||
8 | while searching for the PT_DYNAMIC phdr. Fix this by checking whether | ||
9 | gelf_phdr returns NULL. | ||
10 | |||
11 | * src/readelf.c (handle_dynamic_symtab): Check whether | ||
12 | gelf_getphdr returns NULL. | ||
13 | |||
14 | https://sourceware.org/bugzilla/show_bug.cgi?id=32655 | ||
15 | |||
16 | CVE: CVE-2025-1371 | ||
17 | |||
18 | Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=b38e562a4c907e08171c76b8b2def8464d5a104a] | ||
19 | |||
20 | Signed-off-by: Mark Wielaard <mark@klomp.org> | ||
21 | Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com> | ||
22 | --- | ||
23 | src/readelf.c | 2 +- | ||
24 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
25 | |||
26 | diff --git a/src/readelf.c b/src/readelf.c | ||
27 | index 105cddf..a526fa8 100644 | ||
28 | --- a/src/readelf.c | ||
29 | +++ b/src/readelf.c | ||
30 | @@ -2912,7 +2912,7 @@ handle_dynamic_symtab (Ebl *ebl) | ||
31 | for (size_t i = 0; i < phnum; ++i) | ||
32 | { | ||
33 | phdr = gelf_getphdr (ebl->elf, i, &phdr_mem); | ||
34 | - if (phdr->p_type == PT_DYNAMIC) | ||
35 | + if (phdr == NULL || phdr->p_type == PT_DYNAMIC) | ||
36 | break; | ||
37 | } | ||
38 | if (phdr == NULL) | ||
39 | -- | ||
40 | 2.43.2 | ||
41 | |||