mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
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>
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
The patch to fix CVE-2012-5667
|
||||||
|
Reference: https://bugzilla.redhat.com/attachment.cgi?id=686605&action=diff
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Upstream-status: Inappropriate [other]
|
||||||
|
This version of GNU Grep has been abandoned upstream and they are no longer
|
||||||
|
accepting patches. This is not a backport.
|
||||||
|
|
||||||
|
Signed-off-by Ming Liu <ming.liu@windriver.com>
|
||||||
|
---
|
||||||
|
grep.c | 7 +++----
|
||||||
|
1 file changed, 3 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
--- a/src/grep.c 2013-05-15 13:39:33.359191769 +0800
|
||||||
|
+++ a/src/grep.c 2013-05-15 13:50:22.609191882 +0800
|
||||||
|
@@ -306,6 +306,11 @@ fillbuf (size_t save, struct stats const
|
||||||
|
int cc = 1;
|
||||||
|
char *readbuf;
|
||||||
|
size_t readsize;
|
||||||
|
+ const size_t max_save = INT_MAX / 2;
|
||||||
|
+
|
||||||
|
+ /* Limit the amount of saved data to INT_MAX to fix CVE-2012-5667 */
|
||||||
|
+ if (save > max_save)
|
||||||
|
+ error (2, 0, _("line too long"));
|
||||||
|
|
||||||
|
/* Offset from start of buffer to start of old stuff
|
||||||
|
that we want to save. */
|
||||||
@@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \
|
|||||||
file://gettext.patch \
|
file://gettext.patch \
|
||||||
file://fix64-int-to-pointer.patch \
|
file://fix64-int-to-pointer.patch \
|
||||||
file://Makevars \
|
file://Makevars \
|
||||||
"
|
file://grep-CVE-2012-5667.patch \
|
||||||
|
"
|
||||||
|
|
||||||
SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c"
|
SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c"
|
||||||
SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132"
|
SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132"
|
||||||
|
|||||||
Reference in New Issue
Block a user