From 178969dc76d2dcbb7f7c0d101299ab5c8f75bb81 Mon Sep 17 00:00:00 2001 From: xh Date: Thu, 11 Jul 2024 06:05:18 +0000 Subject: [PATCH] fix CVE-2023-39328 (cherry picked from commit 46a1541a5c711b93e72d167319f712510bfd1ac8) --- backport-CVE-2023-39328.patch | 32 ++++++++++++++++++++++++++++++++ openjpeg2.spec | 9 ++++++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 backport-CVE-2023-39328.patch diff --git a/backport-CVE-2023-39328.patch b/backport-CVE-2023-39328.patch new file mode 100644 index 0000000..28ba44e --- /dev/null +++ b/backport-CVE-2023-39328.patch @@ -0,0 +1,32 @@ +From b287b27a87ecfbbd3b1206b17269d19e76a1b467 Mon Sep 17 00:00:00 2001 +From: pic4xiu <40382944+pic4xiu@users.noreply.github.com> +Date: Thu, 29 Jun 2023 19:50:47 +0800 +Subject: [PATCH] Update opj_malloc.c + +Conflict: NA +Reference: https://github.com/uclouvain/openjpeg/commit/b287b27a87ecfbbd3b1206b17269d19e76a1b467 +--- + src/lib/openjp2/opj_malloc.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/src/lib/openjp2/opj_malloc.c b/src/lib/openjp2/opj_malloc.c +index dca91bfcb..6242614f9 100644 +--- a/src/lib/openjp2/opj_malloc.c ++++ b/src/lib/openjp2/opj_malloc.c +@@ -197,6 +197,16 @@ void * opj_malloc(size_t size) + } + void * opj_calloc(size_t num, size_t size) + { ++ static unsigned long long allocated_size = 0; ++ static unsigned long long max_allocated_size = 4ULL * 1024 * 1024 * 1024; ++ /*Restrict this function can only malloc 4GB of memory*/ ++ ++ unsigned long long total_size = (unsigned long long)(num * size); ++ allocated_size += total_size; ++ if (allocated_size > max_allocated_size) { ++ /*Prevent excessive resource allocation*/ ++ return NULL; ++ } + if (num == 0 || size == 0) { + /* prevent implementation defined behavior of realloc */ + return NULL; diff --git a/openjpeg2.spec b/openjpeg2.spec index 5fea55f..8907394 100644 --- a/openjpeg2.spec +++ b/openjpeg2.spec @@ -1,6 +1,6 @@ Name: openjpeg2 Version: 2.5.0 -Release: 2 +Release: 3 Summary: C-Library for JPEG 2000 License: BSD and MIT URL: https://github.com/uclouvain/openjpeg @@ -8,6 +8,7 @@ Source0: https://github.com/uclouvain/openjpeg/archive/v%{version}/openjp Patch0: openjpeg2_opj2.patch Patch1: heap-buffer-overflow.patch +Patch2: backport-CVE-2023-39328.patch BuildRequires: cmake gcc-c++ make zlib-devel libpng-devel libtiff-devel lcms2-devel doxygen java-devel BuildRequires: jbigkit-devel libjpeg-turbo-devel @@ -98,6 +99,12 @@ mv %{buildroot}%{_mandir}/man1/opj_dump.1 %{buildroot}%{_mandir}/man1/opj2_dump. %{_bindir}/opj2_dump %changelog +* Thu Jul 11 2024 xinghe - 2.5.0-3 +- Type:cves +- ID:CVE-2023-39328 +- SUG:NA +- DESC:fix CVE-2023-39328 + * Tue Feb 28 2023 zhangpan - 2.5.0-2 - Remove useless buildrequires -- Gitee