CVE-2007-4771: Buffer Overflow
Heap-based buffer overflow in the doInterval function in regexcmp.cpp in libicu in International Components for Unicode (ICU) 3.8.1 and earlier allows context-dependent attackers to cause a denial of service (memory consumption) and possibly have unspecified other impact via a regular expression that writes a large amount of data to the backtracking stack. NOTE: some of these details are obtained from third party information.
Other sources
Will Drewry reported a flaw in the way libicu processes certain regular expressions. He reports:
In the function doInterval, regexcmp.cpp:976, there isno check to ensure than the upper interval is not -1. This is intentional as unbounded upper limits are allowed, however the remainder of the code does not gracefully handle this case. For instance, a heap overflow is possible due to the doubling of memory as RegexMatcher::StateSave continues to backtrack.
— Red Hat
Affected Software
Remediation
Patch Available
Event History
Frequently Asked Questions
What is the severity of CVE-2007-4771?
CVE-2007-4771 has a high severity rating due to its potential to cause memory consumption and denial of service.
How do I fix CVE-2007-4771?
To mitigate CVE-2007-4771, upgrade to libicu version 5.0 or later.
Which versions of ICU are affected by CVE-2007-4771?
ICU versions 3.8.1 and earlier are affected by CVE-2007-4771.
Can CVE-2007-4771 lead to data breaches?
While CVE-2007-4771 primarily causes denial of service, it may also lead to unspecified other impacts, including potential data breaches.
Is CVE-2007-4771 still a concern for modern systems?
CVE-2007-4771 is less of a concern for modern systems that have been updated to versions beyond 5.0.