diff --git a/CVE-2019-10192-1.patch b/CVE-2019-10192-1.patch deleted file mode 100644 index f070446..0000000 --- a/CVE-2019-10192-1.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 9f13b2bd4967334b1701c6eccdf53760cb13f79e Mon Sep 17 00:00:00 2001 -From: John Sully -Date: Thu, 14 Mar 2019 14:02:16 -0400 -Subject: [PATCH] Fix hyperloglog corruption - ---- - src/hyperloglog.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/src/hyperloglog.c b/src/hyperloglog.c -index fc21ea0065d..e993bf26e1d 100644 ---- a/src/hyperloglog.c -+++ b/src/hyperloglog.c -@@ -614,6 +614,10 @@ int hllSparseToDense(robj *o) { - } else { - runlen = HLL_SPARSE_VAL_LEN(p); - regval = HLL_SPARSE_VAL_VALUE(p); -+ if ((runlen + idx) > HLL_REGISTERS) { -+ sdsfree(dense); -+ return C_ERR; -+ } - while(runlen--) { - HLL_DENSE_SET_REGISTER(hdr->registers,idx,regval); - idx++; -@@ -1088,6 +1092,8 @@ int hllMerge(uint8_t *max, robj *hll) { - } else { - runlen = HLL_SPARSE_VAL_LEN(p); - regval = HLL_SPARSE_VAL_VALUE(p); -+ if ((runlen + i) > HLL_REGISTERS) -+ return C_ERR; - while(runlen--) { - if (regval > max[i]) max[i] = regval; - i++; diff --git a/CVE-2019-10192-2.patch b/CVE-2019-10192-2.patch deleted file mode 100644 index e40dbe0..0000000 --- a/CVE-2019-10192-2.patch +++ /dev/null @@ -1,35 +0,0 @@ -From e216ceaf0e099536fe3658a29dcb725d812364e0 Mon Sep 17 00:00:00 2001 -From: antirez -Date: Fri, 15 Mar 2019 17:16:06 +0100 -Subject: [PATCH] HyperLogLog: handle wrong offset in the base case. - ---- - src/hyperloglog.c | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -diff --git a/src/hyperloglog.c b/src/hyperloglog.c -index 526510b43b9..1e7ce3dceb7 100644 ---- a/src/hyperloglog.c -+++ b/src/hyperloglog.c -@@ -614,10 +614,7 @@ int hllSparseToDense(robj *o) { - } else { - runlen = HLL_SPARSE_VAL_LEN(p); - regval = HLL_SPARSE_VAL_VALUE(p); -- if ((runlen + idx) > HLL_REGISTERS) { -- sdsfree(dense); -- return C_ERR; -- } -+ if ((runlen + idx) > HLL_REGISTERS) break; /* Overflow. */ - while(runlen--) { - HLL_DENSE_SET_REGISTER(hdr->registers,idx,regval); - idx++; -@@ -1097,8 +1094,7 @@ int hllMerge(uint8_t *max, robj *hll) { - } else { - runlen = HLL_SPARSE_VAL_LEN(p); - regval = HLL_SPARSE_VAL_VALUE(p); -- if ((runlen + i) > HLL_REGISTERS) -- return C_ERR; -+ if ((runlen + i) > HLL_REGISTERS) break; /* Overflow. */ - while(runlen--) { - if (regval > max[i]) max[i] = regval; - i++; diff --git a/redis-4.0.11.tar.gz b/redis-4.0.11.tar.gz deleted file mode 100644 index 1c721b8..0000000 Binary files a/redis-4.0.11.tar.gz and /dev/null differ diff --git a/redis-4.0.14.tar.gz b/redis-4.0.14.tar.gz new file mode 100644 index 0000000..1fa2150 Binary files /dev/null and b/redis-4.0.14.tar.gz differ diff --git a/redis.spec b/redis.spec index f0a4795..dd1d027 100644 --- a/redis.spec +++ b/redis.spec @@ -1,6 +1,6 @@ Name: redis -Version: 4.0.11 -Release: 18 +Version: 4.0.14 +Release: 1 Summary: A persistent key-value database License: BSD and MIT URL: https://redis.io @@ -9,20 +9,16 @@ Source1: %{name}.logrotate Source2: %{name}-sentinel.service Source3: %{name}.service -#CVE fix -Patch0001: CVE-2019-10192-1.patch -#Optimization of the above problem -Patch0002: CVE-2019-10192-2.patch -Patch0003: CVE-2020-14147.patch -Patch0004: improved-HyperLogLog-cardinality-estimation.patch -Patch0005: Aesthetic-changes-to-PR.patch -Patch0006: CVE-2019-10193.patch -Patch0007: modify-aarch64-architecture-jemalloc-page-size-from-4k-to-64k.patch -Patch0008: huawei-deps-jemalloc-support-riscv.patch -Patch0009: CVE-2021-21309.patch -Patch0010: CVE-2021-3470.patch -Patch0011: CVE-2021-29478.patch -Patch0012: CVE-2021-32672.patch +Patch0001: CVE-2020-14147.patch +Patch0002: improved-HyperLogLog-cardinality-estimation.patch +Patch0003: Aesthetic-changes-to-PR.patch +Patch0004: CVE-2019-10193.patch +Patch0005: modify-aarch64-architecture-jemalloc-page-size-from-4k-to-64k.patch +Patch0006: huawei-deps-jemalloc-support-riscv.patch +Patch0007: CVE-2021-21309.patch +Patch0008: CVE-2021-3470.patch +Patch0009: CVE-2021-29478.patch +Patch0010: CVE-2021-32672.patch BuildRequires: systemd gcc Requires: /bin/awk @@ -42,16 +38,14 @@ Redis is an advanced key-value store. It is often referred to as a dattructure s %patch0002 -p1 %patch0003 -p1 %patch0004 -p1 -%patch0005 -p1 -%patch0006 -p1 %ifarch aarch64 -%patch0007 -p1 +%patch0005 -p1 %endif +%patch0006 -p1 +%patch0007 -p1 %patch0008 -p1 %patch0009 -p1 %patch0010 -p1 -%patch0011 -p1 -%patch0012 -p1 sed -i -e 's|^logfile .*$|logfile /var/log/redis/redis.log|g' redis.conf sed -i -e '$ alogfile /var/log/redis/sentinel.log' sentinel.conf @@ -109,6 +103,9 @@ exit 0 %{_unitdir}/%{name}-sentinel.service %changelog +* Wed Dec 29 2021 zhangjiapeng - 4.0.14-1 +- Update to 4.0.14 + * Sat Oct 09 2021 yaoxin - 4.0.11-18 - Fix CVE-2021-32672