Synopsis: Low: grep security, bug fix, and enhancement update
Advisory ID: SLSA-2015:1447-1
Issue Date: 2015-07-22
CVE Numbers: CVE-2012-5667
An integer overflow flaw, leading to a heap-based buffer overflow, was
found in the way grep parsed large lines of data. An attacker able to
trick a user into running grep on a specially crafted data file could use
this flaw to crash grep or, potentially, execute arbitrary code with the
privileges of the user running grep. (CVE-2012-5667)
A heap-based buffer overflow flaw was found in the way grep processed
certain pattern and text combinations. An attacker able to trick a user
into running grep on specially crafted input could use this flaw to crash
grep or, potentially, read from uninitialized memory. (CVE-2015-1345)
The grep packages have been upgraded to upstream version 2.20, which
provides a number of bug fixes and enhancements over the previous version.
Notably, the speed of various operations has been improved significantly.
Now, the recursive grep utility uses the fts function of the gnulib
library for directory traversal, so that it can handle much larger
directories without reporting the “File name too long” error message, and
it can operate faster when dealing with large directory hierarchies.
This update also fixes the following bugs:
* Prior to this update, the \w and \W symbols were inconsistently matched
to the [:alnum:] character class. Consequently, regular expressions that
used \w and \W in some cases had incorrect results. An upstream patch
which fixes the matching problem has been applied, and \w is now matched
to the [_[:alnum:]] character and \W to the [^_[:alnum:]] character
* Previously, the “–fixed-regexp” command-line option was not included in
the grep(1) manual page. Consequently, the manual page was inconsistent
with the built-in help of the grep utility. To fix this bug, grep(1) has
been updated to include a note informing the user that “–fixed-regexp” is
an obsolete option. Now, the built-in help and manual page are consistent
regarding the “–fixed-regexp” option.
* Previously, the Perl Compatible Regular Expression (PCRE) library did
not work correctly when matching non-UTF-8 text in UTF-8 mode.
Consequently, an error message about invalid UTF-8 byte sequence
characters was returned. To fix this bug, patches from upstream have been
applied to the PCRE library and the grep utility. As a result, PCRE now
skips non-UTF-8 characters as non-matching text without returning any
– Scientific Linux Development Team