CVE-2006-7230: Medium severity pcre pcre vulnerability
From pcre changelog, version 7.0:
4. Fixed a major bug that caused incorrect computation of the amount of memory required for a compiled pattern when options that changed within the pattern affected the logic of the preliminary scan that determines the length. The relevant options are -x, and -i in UTF-8 mode. The result was that the computed length was too small. The symptoms of this bug were either the PCRE error "internal error: code overflow" from pcrecompile(), or a glibc crash with a message such as "pcretest: free(): invalid next size (fast)". Examples of patterns that provoked this bug (shown in pcretest format) are:
/(?-x: )/x /(?x)(?-x: \s#\s)/ /((?i)[\x{c0}])/8 /(?i:[\x{c0}])/8
HOWEVER: Change 17 below makes this fix obsolete as the memory computation is now done differently.
Acknowledgements:
Red Hat would like to thank Ludwig Nussel for reporting this issue.
Other sources
Perl-Compatible Regular Expression (PCRE) library before 7.0 does not properly calculate the amount of memory needed for a compiled regular expression pattern when the (1) -x or (2) -i UTF-8 options change within the pattern, which allows context-dependent attackers to cause a denial of service (PCRE or glibc crash) via crafted regular expressions.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2006-7230?
CVE-2006-7230 has a medium severity rating due to potential memory corruption issues.
How do I fix CVE-2006-7230?
To fix CVE-2006-7230, upgrade to PCRE version 7.0 or later.
Which versions of PCRE are affected by CVE-2006-7230?
CVE-2006-7230 affects PCRE versions up to and including 6.9.
What type of vulnerability is CVE-2006-7230?
CVE-2006-7230 is classified as a memory corruption vulnerability.
Can CVE-2006-7230 lead to code execution?
Yes, CVE-2006-7230 could potentially lead to arbitrary code execution due to improper memory handling.