CVE-2025-66034
Fonttools 4.33.0 – 4.60.2
Raw vector
CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:LCVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.
Summary
CVE-2025-66034 is a medium-severity aka Blind XPath Injection (CWE-91) vulnerability in Fonttools Fonttools. Its CVSS base score is 6.3 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Content Injection (T1659); ranked at the 44th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
The strongest mitigations our analysis identified map to SI-10 (Information Input Validation) — see the control section below for these in your framework.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
CVE-2025-66034 is an arbitrary file write vulnerability in the fontTools Python library for manipulating fonts, affecting versions 4.33.0 through 4.60.1. The issue resides in the fonttools varLib script (invoked via python3 -m fontTools.varLib or fontTools.varLib.main()), which processes .designspace files. A malicious .designspace file can trigger the vulnerability in the main() code path, enabling arbitrary file writes that lead to remote code execution.
The vulnerability has a CVSS v3.1 base score of 6.3 (AV:L/AC:H/PR:N/UI:R/S:C/C:N/I:H/A:L) and is associated with CWE-91 (XML Injection). Exploitation requires local access and high attack complexity, with no privileges needed but user interaction required, such as tricking a user into running the varLib CLI on a crafted .designspace file. Successful exploitation allows an attacker to achieve remote code execution through arbitrary file writes, with high integrity impact, low availability impact, and changed scope.
The vulnerability has been patched in fontTools version 4.60.2. Security practitioners should upgrade to this version or later. Additional details are available in the GitHub security advisory (GHSA-768j-98cg-p3fv) and the patching commit (a696d5ba93270d5954f98e7cab5ddca8a02c1e32).
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2025-199882
Vulnerability Data
fontTools is a library for manipulating fonts, written in Python. In versions from 4.33.0 to before 4.60.2, the fonttools varLib (or python3 -m fontTools.varLib) script has an arbitrary file write vulnerability that leads to remote code execution when a malicious…
more
.designspace file is processed. The vulnerability affects the main() code path of fontTools.varLib, used by the fonttools varLib CLI and any code that invokes fontTools.varLib.main(). This issue has been patched in version 4.60.2.
- CWE(s)
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Mitigating Controls (NIST 800-53 r5) AI
Input validation directly stops unneutralized XML metacharacters from reaching the parser.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Secure SDLC directly requires input neutralization and validation that eliminates XML injection flaws.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
Security testing catches XML injection during development but does not itself implement the fix.
Logging can record injection attempts for detection but does not prevent the weakness.
Monitoring can detect exploitation but provides no preventive control over XML handling.
Secure SDLC mandates input validation and output encoding that directly prevent XML injection.
Application security requirements explicitly call for defenses against injection flaws including XML.
Secure architecture principles reduce attack surface but do not prescribe XML-specific controls.