Cloudanix VulnDB

CVE-2025-27363

High · 8.1 CISA KEV

CVSS

8.1

EPSS

27.8%

Published

Mar 11, 2025

CISA due date

May 27, 2025

Cloudanix analysis

Act now SSVC: Attend

A malicious font file can compromise or crash software that reads it unless the affected font-handling components are updated.

Active In The Wild
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
High
Impact
Remote Code Execution
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The flaw is a heap memory corruption issue in FreeType 2.13.0 and earlier when parsing TrueType GX and variable font subglyph structures. A signed short is converted to an unsigned long and then incremented, causing integer wraparound and an undersized heap allocation; subsequent parsing can write several signed long values beyond the allocated buffer. If an affected application, service, renderer, or operating system component processes a crafted font, the out-of-bounds write can crash the process or potentially allow attacker-controlled code execution with the privileges of the process doing the font parsing.

Why it matters to the business

Successful exploitation can let an attacker compromise systems through crafted fonts embedded in documents, webpages, images, PDFs, emails, or uploaded content processed by vulnerable software. Because this vulnerability is listed in CISA KEV, has active in-the-wild exploitation reporting, and had a KEV remediation deadline of 2025-05-27, unpatched systems should be treated as high-priority exposure even though exploitation may require a carefully crafted font and a vulnerable parsing path. Operational consequences include endpoint compromise, service takeover, data theft, malware installation, and outages in applications that render or inspect untrusted font content.

How an attack unfolds

An attacker prepares a malformed TrueType GX or variable font that triggers the signed-to-unsigned conversion and heap allocation mismatch in vulnerable FreeType code. The font is then delivered through a channel where it will be parsed automatically or semi-automatically, such as a webpage, document, PDF, email attachment, image-processing workflow, file previewer, print/rendering pipeline, or upload-scanning service. When the vulnerable parser processes the subglyph data, it allocates a buffer that is too small and writes out of bounds. A failed attempt may produce a crash, while a successful exploit may manipulate heap state to execute code in the affected process. Since exploitation has been reported in the wild, organizations should assume adversaries may use this as part of targeted compromise chains, especially against systems that parse untrusted fonts at scale.

How to fix it

Upgrade FreeType to a non-vulnerable release newer than 2.13.0 wherever it is installed, bundled, vendored, or statically linked. Do not rely only on operating system package inventory; browsers, desktop applications, PDF/rendering tools, container images, firmware, appliances, and server-side document/image processing services may carry their own FreeType copy. For the listed Red Hat Enterprise Linux 6 ELS package set, update affected kernel-related packages to 0:2.6.32-754.43.1.el6 or later, including kernel, kernel-debug, kernel-devel, kernel-doc, kernel-firmware, kernel-kdump, perf, python-perf, and associated debuginfo/ABI packages where installed. After patching kernel packages, reboot into the updated kernel. As interim mitigation, restrict processing of untrusted fonts, disable or sandbox font preview/rendering features where feasible, isolate document-conversion and upload-processing workloads, block risky font uploads when business processes allow, and ensure application sandboxing, exploit protection, and memory-hardening controls are enabled.

How to confirm the fix worked

Confirm the deployed FreeType version is newer than 2.13.0 or that vendor packages include the backported fix. On RPM-based systems, verify relevant package versions with package-manager queries and confirm Red Hat Enterprise Linux 6 ELS kernel-related packages are at 0:2.6.32-754.43.1.el6 or later where applicable. Check running processes and application dependencies for dynamically loaded libfreetype libraries, and scan application/container images for bundled or statically linked FreeType copies. For kernel package remediation, verify the running kernel after reboot, not only the installed package version. Validate compensating controls by testing that untrusted font uploads and rendering workflows are blocked, sandboxed, or routed only to patched components. Vulnerability scanners should be configured to detect both OS packages and embedded third-party libraries.

Typical attack path

  1. Identify a target application, endpoint component, document renderer, browser component, image/PDF processor, or service that uses FreeType 2.13.0 or earlier, including bundled or statically linked copies.
  2. Craft or obtain a malicious TrueType GX or variable font file that triggers the vulnerable subglyph parsing path.
  3. Embed or deliver the font through a webpage, document, PDF, email, archive, upload feature, rendering workflow, or other content-processing path.
  4. Wait for the vulnerable component to parse the font automatically or during user/content processing.
  5. Trigger heap corruption via the undersized allocation and out-of-bounds write.
  6. Achieve process crash, denial of service, or code execution with the privileges of the affected process.
  7. Use resulting execution to drop malware, access sensitive data, move laterally, or establish persistence.

How to detect it

To determine whether exploitation may already have occurred, review endpoint, server, application, EDR, crash, and content-processing logs for crashes or exploit-prevention events in processes that render or inspect fonts, documents, PDFs, images, webpages, email attachments, or uploads. Focus on events involving libfreetype, freetype, TrueType GX, variable fonts, and recent processing of .ttf, .otf, .ttc, .woff, or .woff2 files, especially shortly before abnormal child process creation, unexpected network connections, or file writes. On Linux systems, search syslog, journald, kernel logs, audit logs, coredump records, and application logs for segmentation faults, heap corruption, allocator aborts, or core dumps tied to renderers, converters, browsers, thumbnailers, print services, email scanners, and upload processors. On Windows and macOS endpoints running software that bundles FreeType, review application crash logs, EDR memory-corruption detections, and suspicious renderer/helper process behavior. Preserve suspicious font files for offline analysis and compare file arrival time, parsing time, crash time, and any subsequent process execution. Because public reporting does not provide a universal exploit filename, IP address, or payload marker, detection should emphasize vulnerable parser crashes plus post-crash execution anomalies rather than network IOCs alone.

  • libfreetype
  • freetype
  • FreeType
  • segfault.*libfreetype
  • SIGSEGV.*libfreetype
  • core dumped.*libfreetype
  • malloc(): memory corruption
  • malloc(): corrupted top size
  • free(): invalid next size
  • double free or corruption
  • heap-buffer-overflow.*freetype
  • AddressSanitizer.*freetype
  • TrueType GX
  • .ttf
  • .otf
  • .ttc
  • .woff
  • .woff2
  • gvar
  • fvar
  • glyf

What your security team should do

  • Treat this as urgent because it is in CISA KEV, has reported active exploitation, and the KEV deadline has passed.
  • Inventory all FreeType deployments, including OS packages, containers, desktop applications, browsers, PDF/image/document processing tools, appliances, and vendored libraries.
  • Prioritize patching internet-facing and high-volume content-processing systems that parse files, documents, images, PDFs, email attachments, or uploaded fonts from untrusted sources.
  • Upgrade FreeType to a fixed version newer than 2.13.0 and apply vendor backports; for the listed Red Hat Enterprise Linux 6 ELS packages, update to 0:2.6.32-754.43.1.el6 or later and reboot where required.
  • Temporarily disable, restrict, or sandbox untrusted font parsing in upload pipelines, preview services, document conversion systems, and email/content inspection tools until patching is complete.
  • Search telemetry for crashes, abnormal renderer exits, exploit-protection events, and suspicious processing of TrueType GX or variable font files before the patch date.
  • Review exposed document-rendering and file-upload services for post-exploitation activity, including unexpected child processes, outbound connections, dropped files, and credential access attempts.
  • Add regression checks to software composition analysis so future builds fail when FreeType 2.13.0 or earlier is introduced.

The record

An out of bounds write exists in FreeType versions 2.13.0 and below (newer versions of FreeType are not vulnerable) when attempting to parse font subglyph structures related to TrueType GX and variable font files. The vulnerable code assigns a signed short value to an unsigned long and then adds a static value causing it to wrap around and allocate too small of a heap buffer. The code then writes up to 6 signed long integers out of bounds relative to this buffer. This may result in arbitrary code execution. This vulnerability may have been exploited in the wild.

Affected packages

Ecosystem Package Introduced Fixed
AlmaLinux:8 freetype 0 2.9.1-10.el8_10
AlmaLinux:8 freetype-devel 0 2.9.1-10.el8_10
AlmaLinux:8 mingw32-freetype 0 2.8-3.el8_10.1
AlmaLinux:8 mingw32-freetype-static 0 2.8-3.el8_10.1
AlmaLinux:8 mingw64-freetype 0 2.8-3.el8_10.1
AlmaLinux:8 mingw64-freetype-static 0 2.8-3.el8_10.1
Alpine:v3.22 freetype 0 2.13.1-r0
Android platform/external/freetype 13:0 13:2025-05-01
Android platform/external/freetype 14:0 14:2025-05-01
Debian:11 freetype 0 No fix
Debian:11 freetype 0 2.10.4+dfsg-1+deb11u2
Debian:12 freetype 0 No fix
Debian:12 freetype 0 2.12.1+dfsg-5+deb12u4
Debian:13 freetype 0 No fix
Debian:14 freetype 0 2.13.1+dfsg-1
Mageia:9 freetype2 0 2.13.0-1.2.mga9
SUSE:Enterprise Storage 7.1 freetype2 0 2.10.4-150000.4.18.1
SUSE:Enterprise Storage 7.1 ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Micro 5.1 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Micro 5.2 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Micro 5.3 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Micro 5.4 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Micro 5.5 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Module for Basesystem 15 SP6 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server 12 SP5-LTSS freetype2 0 2.6.3-7.21.1
SUSE:Linux Enterprise Server 12 SP5-LTSS ft2demos 0 2.6.3-7.21.1
SUSE:Linux Enterprise Server 15 SP3-LTSS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server 15 SP3-LTSS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server 15 SP4-LTSS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server 15 SP4-LTSS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server 15 SP5-LTSS freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server 15 SP5-LTSS ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 freetype2 0 2.6.3-7.21.1
SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 ft2demos 0 2.6.3-7.21.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP3 ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP4 ft2demos 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 freetype2 0 2.10.4-150000.4.18.1
SUSE:Linux Enterprise Server for SAP Applications 15 SP5 ft2demos 0 2.10.4-150000.4.18.1
SUSE:Manager Proxy 4.3 freetype2 0 2.10.4-150000.4.18.1
SUSE:Manager Server 4.3 freetype2 0 2.10.4-150000.4.18.1
openSUSE:Leap 15.6 freetype2 0 2.10.4-150000.4.18.1
openSUSE:Leap 15.6 ft2demos 0 2.10.4-150000.4.18.1

Related vulnerabilities