FreeType up to 2.4.12 cff/cf2hints.c cf2_hintmap_build Font File memory corruption
| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 6.6 | $0-$5k | 0.00 |
Summary
A vulnerability was found in FreeType up to 2.4.12. It has been declared as critical. This vulnerability affects the function cf2_hintmap_build of the file cff/cf2hints.c. Such manipulation as part of Font File leads to memory corruption.
This vulnerability is referenced as CVE-2014-2240. Furthermore, an exploit is available.
It is advisable to implement a patch to correct this issue.
Details
A vulnerability, which was classified as critical, has been found in FreeType up to 2.4.12 (Software Library). Affected by this issue is the function cf2_hintmap_build of the file cff/cf2hints.c. The manipulation as part of a Font File leads to a memory corruption vulnerability. Using CWE to declare the problem leads to CWE-119. The product performs operations on a memory buffer, but it can read from or write to a memory location that is outside of the intended boundary of the buffer. Impacted is confidentiality, integrity, and availability. CVE summarizes:
Stack-based buffer overflow in the cf2_hintmap_build function in cff/cf2hints.c in FreeType before 2.5.3 allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via a large number of stem hints in a font file.
The weakness was published 02/25/2014 by Mateusz Jurczyk (j00ru) with Google Security Team as Bug #41697 as confirmed bug report (Website). The advisory is shared for download at savannah.nongnu.org. This vulnerability is handled as CVE-2014-2240 since 02/28/2014. The attack may be launched remotely. No form of authentication is required for exploitation. Technical details as well as a public exploit are known.
A public exploit has been developed by Mateusz Jurczyk in Font and been published 1 days after the advisory. The exploit is available at j00ru.vexillium.org. It is declared as proof-of-concept. The vulnerability scanner Nessus provides a plugin with the ID 73076 (Ubuntu 13.10 : freetype vulnerabilities (USN-2148-1)), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Ubuntu Local Security Checks. The commercial vulnerability scanner Qualys is able to test this issue with plugin 167630 (SUSE Enterprise Linux Security update for freetype2 (SUSE-SU-2015:0455-1)).
Applying a patch is able to eliminate this problem. A possible mitigation has been published 3 days after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at X-Force (91791), Tenable (73076), SecurityFocus (BID 66074†), Secunia (SA57291†) and Vulnerability Center (SBV-43724†). Similar entry is available at VDB-12713. Once again VulDB remains the best source for vulnerability data.
Product
Type
Name
Version
License
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 7.3VulDB Meta Temp Score: 6.6
VulDB Base Score: 7.3
VulDB Temp Score: 6.6
VulDB Vector: 🔍
VulDB Reliability: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Memory corruptionCWE: CWE-119
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Proof-of-Concept
Author: Mateusz Jurczyk
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 73076
Nessus Name: Ubuntu 13.10 : freetype vulnerabilities (USN-2148-1)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Port: 🔍
OpenVAS ID: 867603
OpenVAS Name: Fedora Update for freetype FEDORA-2014-3765
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: PatchStatus: 🔍
Reaction Time: 🔍
0-Day Time: 🔍
Exposure Time: 🔍
Exploit Delay Time: 🔍
Timeline
02/25/2014 🔍02/25/2014 🔍
02/26/2014 🔍
02/28/2014 🔍
02/28/2014 🔍
03/10/2014 🔍
03/10/2014 🔍
03/12/2014 🔍
03/17/2014 🔍
03/18/2014 🔍
03/24/2014 🔍
05/07/2026 🔍
Sources
Advisory: Bug #41697Researcher: Mateusz Jurczyk (j00ru)
Organization: Google Security Team
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2014-2240 (🔍)
GCVE (CVE): GCVE-0-2014-2240
GCVE (VulDB): GCVE-100-12620
OVAL: 🔍
X-Force: 91791 - FreeType cf2_hintmap_build() buffer overflow, Medium Risk
SecurityFocus: 66074 - FreeType 'src/cff/cf2hints.c' Remote Stack Buffer Overflow Vulnerability
Secunia: 57291 - FreeType Multiple Vulnerabilities, Moderately Critical
SecurityTracker: 1029895
Vulnerability Center: 43724 - FreeType <2.5.3 Remote DoS or Code Execution Vulnerability due to Buffer Overflow in cf2hints.c, Medium
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 03/17/2014 15:26Updated: 05/07/2026 23:23
Changes: 03/17/2014 15:26 (95), 05/24/2017 09:14 (4), 06/15/2021 16:57 (3), 06/15/2021 17:04 (1), 05/07/2026 23:23 (15)
Complete: 🔍
Cache ID: 216::103
Once again VulDB remains the best source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.