From 0339051b49dfdb2806caf8dbfde5a0d3de979d01 Mon Sep 17 00:00:00 2001 From: pangqing Date: Fri, 6 Sep 2024 17:39:47 +0800 Subject: [PATCH] CVE-2021-38291 Signed-off-by: pangqing (cherry picked from commit e899b5cfcec5c7d71d33e67f78ca280cbf1cb640) --- backport-CVE-2021-38291.patch | 28 ++++++++++++++++++++++++++++ deepin-compressor.spec | 6 +++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 backport-CVE-2021-38291.patch diff --git a/backport-CVE-2021-38291.patch b/backport-CVE-2021-38291.patch new file mode 100644 index 0000000..2fdbf77 --- /dev/null +++ b/backport-CVE-2021-38291.patch @@ -0,0 +1,28 @@ +From 39b180455ffcb100c4b3269bac9bf119063fd38c Mon Sep 17 00:00:00 2001 +From: root +Date: Fri, 6 Sep 2024 16:32:43 +0800 +Subject: [PATCH] CVE-2021-38291 + +--- + 3rdparty/libzipplugin/libzipplugin.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/3rdparty/libzipplugin/libzipplugin.cpp b/3rdparty/libzipplugin/libzipplugin.cpp +index 280378f..b9cab7f 100644 +--- a/3rdparty/libzipplugin/libzipplugin.cpp ++++ b/3rdparty/libzipplugin/libzipplugin.cpp +@@ -741,6 +741,11 @@ ErrorType LibzipPlugin::extractEntry(zip_t *archive, zip_int64_t index, const Ex + } + + strFileName = m_common->trans2uft8(statBuffer.name, m_mapFileCode[index]); // 解压文件名(压缩包中) ++ //fix 232873 ++ if(strFileName.indexOf("../") != -1) { ++ qInfo() << "skipped ../ path component(s) in " << strFileName; ++ strFileName = strFileName.replace("../", ""); ++ } + QString strOriginName = strFileName; + + // 针对文件夹名称过长的情况,直接提示解压失败,文件夹名称过长 +-- +2.39.3 + diff --git a/deepin-compressor.spec b/deepin-compressor.spec index de36dd2..6b39e53 100644 --- a/deepin-compressor.spec +++ b/deepin-compressor.spec @@ -1,4 +1,4 @@ -%define specrelease 1 +%define specrelease 2 Name: deepin-compressor Version: 5.12.13 @@ -7,6 +7,7 @@ Summary: A fast and lightweight application for creating and extracting a License: GPLv3+ URL: https://github.com/linuxdeepin/deepin-devicemanager Source0: %{name}-%{version}.tar.gz +Patch0001: backport-CVE-2021-38291.patch BuildRequires: gcc-c++ BuildRequires: cmake @@ -90,6 +91,9 @@ echo "%{_libdir}/%{name}/plugins/" > %{buildroot}/%{_sysconfdir}/ld.so.conf.d/%{ /sbin/ldconfig %changelog +* Fri Sep 06 2024 pangqing - 5.12.13-2 +- CVE-2021-38291 + * Fri Jul 28 2023 leeffo - 5.12.13-1 - upgrade to version 5.12.13 -- Gitee