Files
poky/meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch
Ming Liu bc651f4b3a 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 master rev: 7dd4d0178e2b057f76cd2b0b6fe8402f8c1ab23d)

(From OE-Core rev: aefb760f6bb2522e0a0fec19a6bf1a761cf3c03e)

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>
2013-07-09 10:53:52 +01:00

33 lines
1.1 KiB
Diff

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. */