Skip to contentSkip to conversation

package/lz4: add upstream security fix for CVE-2021-3520

PATCH New Peter Korsgaard 2 participants 3 messages May 23, 2021 – Jun 7, 2021

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/lz4: add upstream security fix for CVE-2021-3520

Fixes a potential memory corruption with negative memmove() size. For details, see (NVD not yet updated):

https://security-tracker.debian.org/tracker/CVE-2021-3520

---
 ...mory-corruption-with-negative-memmov.patch | 26 +++++++++++++++++++
 package/lz4/lz4.mk                            |  3 +++
 2 files changed, 29 insertions(+)
 create mode 100644 package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch
package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch new file +26 -0
new file mode 100644
index 0000000000..57e4e38f84
@@ -0,0 +1,26 @@
+From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001
+From: Jasper Lievisse Adriaanse <[email protected]>
+Date: Fri, 26 Feb 2021 15:21:20 +0100
+Subject: [PATCH] Fix potential memory corruption with negative memmove() size
+
+Signed-off-by: Peter Korsgaard <[email protected]>
+---
+ lib/lz4.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/lz4.c b/lib/lz4.c
+index 5f524d0..c2f504e 100644
+--- a/lib/lz4.c
++++ b/lib/lz4.c
+@@ -1749,7 +1749,7 @@ LZ4_decompress_generic(
+                  const size_t dictSize         /* note : = 0 if noDict */
+                  )
+ {
+-    if (src == NULL) { return -1; }
++    if ((src == NULL) || (outputSize < 0)) { return -1; }
+ 
+     {   const BYTE* ip = (const BYTE*) src;
+         const BYTE* const iend = ip + srcSize;
+-- 
+2.20.1
+
package/lz4/lz4.mk +3 -0
index e0236c05b1..9b9b6198c3 100644
@@ -17,6 +17,9 @@ LZ4_CPE_ID_VENDOR = yann_collet
 # See https://github.com/lz4/lz4/issues/818
 LZ4_IGNORE_CVES += CVE-2014-4715
 
+# 0001-Fix-potential-memory-corruption-with-negative-memmov.patch
+LZ4_IGNORE_CVES += CVE-2021-3520
+
 ifeq ($(BR2_STATIC_LIBS),y)
 LZ4_MAKE_OPTS += BUILD_SHARED=no
 else ifeq ($(BR2_SHARED_LIBS),y)
Signature · 1 line
2.20.1
#1 lore raw

PATCH 1/1 package/lz4: add upstream security fix for CVE-2021-3520

Peter, All,

On 2021-05-23 11:52 +0200, Peter Korsgaard spake thusly:

Quoted 6 lines

Fixes a potential memory corruption with negative memmove() size. For details, see (NVD not yet updated):

https://security-tracker.debian.org/tracker/CVE-2021-3520

Applied to master, thanks.

Regards,
Yann E. MORIN.

Quoted 59 lines
---
 ...mory-corruption-with-negative-memmov.patch | 26 +++++++++++++++++++
 package/lz4/lz4.mk                            |  3 +++
 2 files changed, 29 insertions(+)
 create mode 100644 package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch
package/lz4/0001-Fix-potential-memory-corruption-with-negative-memmov.patch new file +26 -0
new file mode 100644
index 0000000000..57e4e38f84
@@ -0,0 +1,26 @@
+From 8301a21773ef61656225e264f4f06ae14462bca7 Mon Sep 17 00:00:00 2001
+From: Jasper Lievisse Adriaanse <[email protected]>
+Date: Fri, 26 Feb 2021 15:21:20 +0100
+Subject: [PATCH] Fix potential memory corruption with negative memmove() size
+
+Signed-off-by: Peter Korsgaard <[email protected]>
+---
+ lib/lz4.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/lz4.c b/lib/lz4.c
+index 5f524d0..c2f504e 100644
+--- a/lib/lz4.c
++++ b/lib/lz4.c
+@@ -1749,7 +1749,7 @@ LZ4_decompress_generic(
+                  const size_t dictSize         /* note : = 0 if noDict */
+                  )
+ {
+-    if (src == NULL) { return -1; }
++    if ((src == NULL) || (outputSize < 0)) { return -1; }
+ 
+     {   const BYTE* ip = (const BYTE*) src;
+         const BYTE* const iend = ip + srcSize;
+-- 
+2.20.1
+
package/lz4/lz4.mk +3 -0
index e0236c05b1..9b9b6198c3 100644
@@ -17,6 +17,9 @@ LZ4_CPE_ID_VENDOR = yann_collet
 # See https://github.com/lz4/lz4/issues/818
 LZ4_IGNORE_CVES += CVE-2014-4715
 
+# 0001-Fix-potential-memory-corruption-with-negative-memmov.patch
+LZ4_IGNORE_CVES += CVE-2021-3520
+
 ifeq ($(BR2_STATIC_LIBS),y)
 LZ4_MAKE_OPTS += BUILD_SHARED=no
 else ifeq ($(BR2_SHARED_LIBS),y)
Signature · 6 lines
2.20.1

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH 1/1 package/lz4: add upstream security fix for CVE-2021-3520

In reply to Peter Korsgaard
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Peter" == Peter Korsgaard <[email protected]> writes:

Fixes a potential memory corruption with negative memmove() size. For details, see (NVD not yet updated):

https://security-tracker.debian.org/tracker/CVE-2021-3520

Committed to 2021.02.x, thanks.

Signature · 1 line
Bye, Peter Korsgaard