forked from conan-io/conan-center-index
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(conan-io#13412) Bug/zlib/CVE 2022 37434
* zlib: Fix CVE-2022-37434 Apply CVE fix and a fix of CVE fix madler/zlib#686 openwrt/openwrt#10582 * Fix linter * Add patches description * Fix review
- Loading branch information
1 parent
07522ff
commit e99e06f
Showing
6 changed files
with
81 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
35 changes: 35 additions & 0 deletions
35
recipes/zlib/all/patches/0004-Fix-a-bug-when-getting-a-gzip-header-extra-field-wit.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
From eff308af425b67093bab25f80f1ae950166bece1 Mon Sep 17 00:00:00 2001 | ||
From: Mark Adler <fork@madler.net> | ||
Date: Sat, 30 Jul 2022 15:51:11 -0700 | ||
Subject: [PATCH] Fix a bug when getting a gzip header extra field with | ||
inflate(). | ||
|
||
If the extra field was larger than the space the user provided with | ||
inflateGetHeader(), and if multiple calls of inflate() delivered | ||
the extra header data, then there could be a buffer overflow of the | ||
provided space. This commit assures that provided space is not | ||
exceeded. | ||
--- | ||
inflate.c | 5 +++-- | ||
1 file changed, 3 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/inflate.c b/inflate.c | ||
index 7be8c63..7a72897 100644 | ||
--- a/inflate.c | ||
+++ b/inflate.c | ||
@@ -763,9 +763,10 @@ int flush; | ||
copy = state->length; | ||
if (copy > have) copy = have; | ||
if (copy) { | ||
+ len = state->head->extra_len - state->length; | ||
if (state->head != Z_NULL && | ||
- state->head->extra != Z_NULL) { | ||
- len = state->head->extra_len - state->length; | ||
+ state->head->extra != Z_NULL && | ||
+ len < state->head->extra_max) { | ||
zmemcpy(state->head->extra + len, next, | ||
len + copy > state->head->extra_max ? | ||
state->head->extra_max - len : copy); | ||
-- | ||
2.25.1 | ||
|
32 changes: 32 additions & 0 deletions
32
recipes/zlib/all/patches/0005-Fix-extra-field-processing-bug-that-dereferences-NUL.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
From 1eb7682f845ac9e9bf9ae35bbfb3bad5dacbd91d Mon Sep 17 00:00:00 2001 | ||
From: Mark Adler <fork@madler.net> | ||
Date: Mon, 8 Aug 2022 10:50:09 -0700 | ||
Subject: [PATCH] Fix extra field processing bug that dereferences NULL | ||
state->head. | ||
|
||
The recent commit to fix a gzip header extra field processing bug | ||
introduced the new bug fixed here. | ||
--- | ||
inflate.c | 4 ++-- | ||
1 file changed, 2 insertions(+), 2 deletions(-) | ||
|
||
diff --git a/inflate.c b/inflate.c | ||
index 7a72897..2a3c4fe 100644 | ||
--- a/inflate.c | ||
+++ b/inflate.c | ||
@@ -763,10 +763,10 @@ int flush; | ||
copy = state->length; | ||
if (copy > have) copy = have; | ||
if (copy) { | ||
- len = state->head->extra_len - state->length; | ||
if (state->head != Z_NULL && | ||
state->head->extra != Z_NULL && | ||
- len < state->head->extra_max) { | ||
+ (len = state->head->extra_len - state->length) < | ||
+ state->head->extra_max) { | ||
zmemcpy(state->head->extra + len, next, | ||
len + copy > state->head->extra_max ? | ||
state->head->extra_max - len : copy); | ||
-- | ||
2.25.1 | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
# pylint: skip-file | ||
from conans import ConanFile, CMake, tools | ||
import os | ||
|
||
|