diff options
author | Ming Liu <ming.liu@windriver.com> | 2013-05-15 05:56:50 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-05-30 20:59:11 +0100 |
commit | 2a8265950f263138fcb33db8dc9e1017a6af233a (patch) | |
tree | 6616819dceaac9a767c5dc88f1b0794e01016060 /meta/recipes-extended | |
parent | 3f561e9b3e0013250ddca8120b95a20aab78f93c (diff) | |
download | poky-2a8265950f263138fcb33db8dc9e1017a6af233a.tar.gz |
grep: fix for CVE-2012-5667
Multiple integer overflows in GNU Grep before 2.11 might allow
context-dependent attackers to execute arbitrary code via vectors
involving a long input line that triggers a heap-based buffer overflow.
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5667
(From OE-Core rev: 7dd4d0178e2b057f76cd2b0b6fe8402f8c1ab23d)
Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r-- | meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch | 32 | ||||
-rw-r--r-- | meta/recipes-extended/grep/grep_2.5.1a.bb | 3 |
2 files changed, 34 insertions, 1 deletions
diff --git a/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch b/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch new file mode 100644 index 0000000000..0631f35f16 --- /dev/null +++ b/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | The patch to fix CVE-2012-5667 | ||
2 | Reference: https://bugzilla.redhat.com/attachment.cgi?id=686605&action=diff | ||
3 | |||
4 | Multiple integer overflows in GNU Grep before 2.11 might allow | ||
5 | context-dependent attackers to execute arbitrary code via vectors | ||
6 | involving a long input line that triggers a heap-based buffer overflow. | ||
7 | |||
8 | http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5667 | ||
9 | |||
10 | Upstream-status: Inappropriate [other] | ||
11 | This version of GNU Grep has been abandoned upstream and they are no longer | ||
12 | accepting patches. This is not a backport. | ||
13 | |||
14 | Signed-off-by Ming Liu <ming.liu@windriver.com> | ||
15 | --- | ||
16 | grep.c | 7 +++---- | ||
17 | 1 file changed, 3 insertions(+), 4 deletions(-) | ||
18 | |||
19 | --- a/src/grep.c 2013-05-15 13:39:33.359191769 +0800 | ||
20 | +++ a/src/grep.c 2013-05-15 13:50:22.609191882 +0800 | ||
21 | @@ -306,6 +306,11 @@ fillbuf (size_t save, struct stats const | ||
22 | int cc = 1; | ||
23 | char *readbuf; | ||
24 | size_t readsize; | ||
25 | + const size_t max_save = INT_MAX / 2; | ||
26 | + | ||
27 | + /* Limit the amount of saved data to INT_MAX to fix CVE-2012-5667 */ | ||
28 | + if (save > max_save) | ||
29 | + error (2, 0, _("line too long")); | ||
30 | |||
31 | /* Offset from start of buffer to start of old stuff | ||
32 | that we want to save. */ | ||
diff --git a/meta/recipes-extended/grep/grep_2.5.1a.bb b/meta/recipes-extended/grep/grep_2.5.1a.bb index d6386edb3f..247c837004 100644 --- a/meta/recipes-extended/grep/grep_2.5.1a.bb +++ b/meta/recipes-extended/grep/grep_2.5.1a.bb | |||
@@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \ | |||
13 | file://gettext.patch \ | 13 | file://gettext.patch \ |
14 | file://fix64-int-to-pointer.patch \ | 14 | file://fix64-int-to-pointer.patch \ |
15 | file://Makevars \ | 15 | file://Makevars \ |
16 | " | 16 | file://grep-CVE-2012-5667.patch \ |
17 | " | ||
17 | 18 | ||
18 | SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c" | 19 | SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c" |
19 | SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132" | 20 | SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132" |