Skip to contentSkip to conversation

grep: fix for CVE-2012-5667

PATCH New Mark Hatle 1 participant 2 messages May 29, 2013

lore
Share & tools
lore

Mark Hatle

author
#0 lore raw

PATCH v2 17/21 grep: fix for CVE-2012-5667

From: Ming Liu <[email protected]>

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

---
 .../grep/grep-2.5.1a/grep-CVE-2012-5667.patch      | 32 ++++++++++++++++++++++
 meta/recipes-extended/grep/grep_2.5.1a.bb          |  3 +-
 2 files changed, 34 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch
meta/recipes-extended/grep/grep-2.5.1a/grep-CVE-2012-5667.patch new file +32 -0
new file mode 100644
index 0000000..0631f35
@@ -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 <[email protected]>
+---
+ 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.  */
meta/recipes-extended/grep/grep_2.5.1a.bb +2 -1
index d6386ed..247c837 100644
@@ -13,7 +13,8 @@ SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.bz2 \
            file://gettext.patch \
            file://fix64-int-to-pointer.patch \
            file://Makevars \
-           "
+           file://grep-CVE-2012-5667.patch \
+          "
 
 SRC_URI[md5sum] = "52202fe462770fa6be1bb667bd6cf30c"
 SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92bdd3132"
Signature · 1 line
1.8.1.2.545.g2f19ada
author
#1 lore raw

PATCH v3 18/21 ncurses: Fix problems expanding ncurses-libtinfo when in IMAGE_INSTALL

From: Jason Wessel <[email protected]>

The ncurses package was generating the following error as a result of not specifing the PACKAGES_DYNAMIC correctly. This error only appear when using the IMAGE_INSTALL list that has been expanded by the hob or from the pkgdata.

ERROR: Nothing RPROVIDES 'ncurses-libtinfo'

The dynamic packages are named using "${PN}-lib%s". So we check for ${PN}-lib*

---
 meta/recipes-core/ncurses/ncurses.inc | 2 ++
 1 file changed, 2 insertions(+)
meta/recipes-core/ncurses/ncurses.inc +2 -0
index 8a81381..6907536 100644
@@ -29,6 +29,8 @@ BUILD_CPPFLAGS += "-D_GNU_SOURCE"
 # natives don't generally look in base_libdir
 base_libdir_class-native = "${libdir}"
 
+PACKAGES_DYNAMIC = "^${PN}-lib.*"
+
 # Fall back to the host termcap / terminfo for -nativesdk and -native
 # The reality is a work around for strange problems with things like
 # "bitbake -c menuconfig busybox" where it cannot find the terminfo
Signature · 1 line
1.8.1.2.545.g2f19ada