!41 [sync] PR-37: sync upstream patch for modify patch6008

From: @openeuler-sync-bot 
Reviewed-by: @dillon_chen 
Signed-off-by: @dillon_chen
This commit is contained in:
openeuler-ci-bot 2024-07-05 09:49:03 +00:00 committed by Gitee
commit 49d04803e2
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
2 changed files with 18 additions and 25 deletions

View File

@ -1,33 +1,23 @@
From 99462cac1c6581bce36fe17fd1f430cbe114f0af Mon Sep 17 00:00:00 2001 From 803f49aaae16b7f2899e4769afdfc673a21fa9e8 Mon Sep 17 00:00:00 2001
From: Valentin Lefebvre <valentin.lefebvre@suse.com> From: Guido Draheim <guidod@gmx.de>
Date: Wed, 20 Sep 2023 12:04:56 +0200 Date: Mon, 26 Feb 2024 23:17:12 +0100
Subject: [PATCH] mmappend.c: pre-check header trailer magic Subject: [PATCH] #69 assert full zzip_file_header
* Avoid potential ASAN:SIGSEGV invalid memory access by pre-check the header
trailer magic.
* CVE-2020-18770
Signed-off-by: Valentin Lefebvre <valentin.lefebvre@suse.com>
--- ---
zzip/mmapped.c | 4 +++- zzip/mmapped.c | 3 ++-
1 file changed, 3 insertions(+), 1 deletion(-) 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/zzip/mmapped.c b/zzip/mmapped.c diff --git a/zzip/mmapped.c b/zzip/mmapped.c
index 8af18f4..49990e6 100644 index 2071882..306ba51 100644
--- a/zzip/mmapped.c --- a/zzip/mmapped.c
+++ b/zzip/mmapped.c +++ b/zzip/mmapped.c
@@ -269,7 +269,9 @@ zzip_disk_entry_to_file_header(ZZIP_DISK * disk, struct zzip_disk_entry *entry) @@ -276,7 +276,8 @@ struct zzip_file_header *
return 0; zzip_disk_entry_to_file_header(ZZIP_DISK * disk, struct zzip_disk_entry *entry)
} {
___ struct zzip_file_header *file_header = (void *) ptr; zzip_byte_t *const ptr = disk->buffer + zzip_disk_entry_fileoffset(entry);
- if (zzip_file_header_get_magic(file_header) != ZZIP_FILE_HEADER_MAGIC) - if (disk->buffer > ptr || ptr >= disk->endbuf)
+ if (file_header != 'P' || /* quick pre-check for trailer magic */ + zzip_byte_t *const end = ptr + sizeof(struct zzip_file_header);
+ zzip_file_header_get_magic(file_header) != ZZIP_FILE_HEADER_MAGIC) + if (disk->buffer > ptr || end >= disk->endbuf || end <= NULL)
+
{ {
errno = EBADMSG; errno = EBADMSG;
return 0; return 0;
--
2.40.1

View File

@ -4,7 +4,7 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
Name: zziplib Name: zziplib
Version: 0.13.71 Version: 0.13.71
Release: 5 Release: 6
Summary: Lightweight library for zip compression Summary: Lightweight library for zip compression
License: LGPLv2+ or MPLv1.1 License: LGPLv2+ or MPLv1.1
URL: http://zziplib.sourceforge.net URL: http://zziplib.sourceforge.net
@ -95,6 +95,9 @@ find %{buildroot} -type f -name "*.la" -delete -print
%{_mandir}/man3/* %{_mandir}/man3/*
%changelog %changelog
* Wed May 08 2024 liweigang <liweiganga@uniontech.com> - 0.13.71-6
- sync upstream patch for modify patch6008
* Wed Sep 27 2023 licihua <licihua@huawei.com> - 0.13.71-5 * Wed Sep 27 2023 licihua <licihua@huawei.com> - 0.13.71-5
- fix CVE-2020-18770 - fix CVE-2020-18770