Bug 800592 (CVE-2012-1134)
Summary: | CVE-2012-1134 freetype: limited heap buffer overflow in Type1 parser T1_Get_Private_Dict() (#35608) | ||
---|---|---|---|
Product: | [Other] Security Response | Reporter: | Jan Lieskovsky <jlieskov> |
Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | unspecified | CC: | behdad, fonts-bugs, jrusnack, kevin, mkasik |
Target Milestone: | --- | Keywords: | Security |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-02-24 21:02:23 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 806266, 806267, 806268, 806269, 806270, 806271, 889398 | ||
Bug Blocks: | 800639 |
Description
Jan Lieskovsky
2012-03-06 18:52:09 UTC
Added CVE as per http://www.openwall.com/lists/oss-security/2012/03/06/16 This issue affects the versions of the freetype package, as shipped with Red Hat Enterprise Linux 5 and 6. -- This issue affects the versions of the freetype package, as shipped with Fedora release of 15 and 16. The flaw here is in the T1_Get_Private_Dict() function. It does not check that private_dict[] (array of FT_Byte / unsigned char) has at least size of 4 before overwriting first 4 characters with ' ' (space). There are two possible cases in the function. One is that private_dict[] is allocated in the function using the size of less than 4. That case is not an issue, as the minimum chunk glibc malloc can allocate has 12 (on 32bit) or 24 (on 64bit) usable bytes. Hence the overflow would only overwrite memory that can be used by an application and does not lead to crash. This overflow can be detected by memory allocation checking tools as valgrind or AddressSanitizer, as was demonstrated in the upstream bug report. There is another possible case - private_dict[] may use part of the existing base_dict[]. In that case, it may be possible for overflow to write out of the usable memory, but the overflow is limited to 3 space characters. This issue has been addressed in following products: Red Hat Enterprise Linux 5 Red Hat Enterprise Linux 6 Via RHSA-2012:0467 https://rhn.redhat.com/errata/RHSA-2012-0467.html |