| PROBLEM: | There are several security issues in PCRE library which potentially allow attackers to execute arbitrary code by compiling specially crafted regular expressions. |
| PLATFORM: | Debian GNU/Linux 3.1 (sarge) and 4.0 (etch) RHEL Desktop Workstation (v. 5 client) Red Hat Enterprise Linux (v. 5 server) Red Hat Enterprise Linux Desktop (v. 5 client) Adobe Flash Player 9.0.18.0 and earlier 8.0.35.0 and earlier 7.0.70.0 and earlier |
| DAMAGE: | Could potentially allow attackers to execute arbitrary code by compiling specially crafted regular expressions. |
| SOLUTION: | Upgrade to the appropriate versions. |
| VULNERABILITY ASSESSMENT: |
The risk is LOW. Could potentially allow attackers to execute arbitrary code by compiling specially crafted regular expressions. |
REVISION HISTORY:
12/20/2007 - revised S-037 to add a link to Adobe Security Advisory APSB07-20
for Adobe Flash Player 9.0.18.0 and earlier, 8.0.35.0 and earlier, and
7.0.70.0 and earlier.
01/23/2008 - revised S-037 to add a link to Security Focus 26346.
05/08/2008 - revised S-037 to add a link to Debian Security Advisory DSA-1570-1 for
Debian GNU/Linux 4.0 (etch).
[***** Start Debian Security Advisory DSA-1399-1 *****]
Tavis Ormandy of the Google Security Team has discovered several security issues in PCRE, the Perl-Compatible Regular Expression library, which potentially allow attackers to execute arbitrary code by compiling specially crafted regular expressions.
Version 7.0 of the PCRE library featured a major rewrite of the regular expression compiler, and it was deemed infeasible to backport the security fixes in version 7.3 to the versions in Debian's stable and oldstable distributions (6.7 and 4.5, respectively). Therefore, this update contains version 7.3, with special patches to improve the compatibility with the older versions. As a result, extra care is necessary when applying this update.
The Common Vulnerabilities and Exposures project identifies the following problems:
Unmatched \Q\E sequences with orphan \E codes can cause the compiled regex to become desynchronized, resulting in corrupt bytecode that may result in multiple exploitable conditions.
Multiple forms of character class had their sizes miscalculated on initial passes, resulting in too little memory being allocated.
Multiple patterns of the form \X?\d or \P{L}?\d in non-UTF-8 mode could backtrack before the start of the string, possibly leaking information from the address space, or causing a crash by reading out of bounds.
A number of routines can be fooled into reading past the end of an string looking for unmatched parentheses or brackets, resulting in a denial of service.
Multiple integer overflows in the processing of escape sequences could result in heap overflows or out of bounds reads/writes.
Multiple infinite loops and heap overflows were disovered in the handling of \P and \P{x} sequences, where the length of these non-standard operations was mishandled.
Character classes containing a lone unicode sequence were incorrectly optimised, resulting in a heap overflow.
For the stable distribution (etch), these problems have been fixed in version 6.7+7.4-2.
For the old stable distribution (sarge), these problems have been fixed in version 4.5+7.4-1.
For the unstable distribution (sid), these problems have been fixed in version 7.3-1.
MD5 checksums of the listed files are available in the original advisory.
[***** End Debian Security Advisory DSA-1399-1 *****]
Voice: +1 925-422-8193 (7 x 24)
FAX: +1 925-423-8002
STU-III: +1 925-423-2604
E-mail: ciac@ciac.org
World Wide Web: http://www.ciac.org/
Anonymous FTP: ftp.ciac.org