REDHAT-BUG-384801: High 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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-384801?
REDHAT-BUG-384801 is categorized as a major bug that can lead to incorrect memory computation when compiling patterns.
How do I fix REDHAT-BUG-384801?
To resolve REDHAT-BUG-384801, you should update to the latest version of the PCRE library that addresses this memory computation issue.
What does REDHAT-BUG-384801 affect?
REDHAT-BUG-384801 affects the PCRE library, specifically versions prior to the fix provided in version 7.0.
Is REDHAT-BUG-384801 a security vulnerability?
While REDHAT-BUG-384801 is a significant bug, it is focused on memory computation rather than direct security exploitation.
What are the potential risks of not addressing REDHAT-BUG-384801?
Failing to address REDHAT-BUG-384801 may lead to unpredictable behavior in applications relying on PCRE for pattern matching, potentially causing crashes or memory leaks.