mirror of
https://git.yoctoproject.org/poky
synced 2026-09-20 03:49:32 +02:00
libarchive: Fix CVE-2025-5914
Adds patch to backport fix for CVE-2025-5914. (From OE-Core rev: 4a4c6e0382834e03480e07f30ed5efa23f6c6fe2) Signed-off-by: Colin Pinnell McAllister <colin.mcallister@garmin.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
This commit is contained in:
committed by
Steve Sakoman
parent
78c9cb3eaf
commit
8a1287dec6
@@ -0,0 +1,46 @@
|
|||||||
|
From cb0d2b0c9a7f1672d4edaa4beacdd96e5b53ead1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tobias Stoeckmann <stoeckmann@users.noreply.github.com>
|
||||||
|
Date: Sun, 11 May 2025 02:17:19 +0200
|
||||||
|
Subject: [PATCH] rar: Fix double free with over 4 billion nodes (#2598)
|
||||||
|
|
||||||
|
If a system is capable of handling 4 billion nodes in memory, a double
|
||||||
|
free could occur because of an unsigned integer overflow leading to a
|
||||||
|
realloc call with size argument of 0. Eventually, the client will
|
||||||
|
release that memory again, triggering a double free.
|
||||||
|
|
||||||
|
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
|
||||||
|
|
||||||
|
CVE: CVE-2025-5914
|
||||||
|
Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/09685126fcec664e2b8ca595e1fc371bd494d209]
|
||||||
|
Signed-off-by: Colin Pinnell McAllister <colin.mcallister@garmin.com>
|
||||||
|
---
|
||||||
|
libarchive/archive_read_support_format_rar.c | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
|
||||||
|
index 793e8e98..b9f5450d 100644
|
||||||
|
--- a/libarchive/archive_read_support_format_rar.c
|
||||||
|
+++ b/libarchive/archive_read_support_format_rar.c
|
||||||
|
@@ -335,8 +335,8 @@ struct rar
|
||||||
|
int found_first_header;
|
||||||
|
char has_endarc_header;
|
||||||
|
struct data_block_offsets *dbo;
|
||||||
|
- unsigned int cursor;
|
||||||
|
- unsigned int nodes;
|
||||||
|
+ size_t cursor;
|
||||||
|
+ size_t nodes;
|
||||||
|
char filename_must_match;
|
||||||
|
|
||||||
|
/* LZSS members */
|
||||||
|
@@ -1186,7 +1186,7 @@ archive_read_format_rar_seek_data(struct archive_read *a, int64_t offset,
|
||||||
|
int whence)
|
||||||
|
{
|
||||||
|
int64_t client_offset, ret;
|
||||||
|
- unsigned int i;
|
||||||
|
+ size_t i;
|
||||||
|
struct rar *rar = (struct rar *)(a->format->data);
|
||||||
|
|
||||||
|
if (rar->compression_method == COMPRESS_METHOD_STORE)
|
||||||
|
--
|
||||||
|
2.49.0
|
||||||
|
|
||||||
@@ -35,6 +35,7 @@ SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \
|
|||||||
file://CVE-2024-48958.patch \
|
file://CVE-2024-48958.patch \
|
||||||
file://CVE-2024-20696.patch \
|
file://CVE-2024-20696.patch \
|
||||||
file://CVE-2025-25724.patch \
|
file://CVE-2025-25724.patch \
|
||||||
|
file://CVE-2025-5914.patch \
|
||||||
"
|
"
|
||||||
UPSTREAM_CHECK_URI = "http://libarchive.org/"
|
UPSTREAM_CHECK_URI = "http://libarchive.org/"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user