Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:freetype
User: [email protected]
Usertags: pu

[ Reason ]
CVE-2026-95512: Prevent denial of service via repeated subroutine allocations
in the CID font loader.

Crafted CID fonts can trigger repeated subroutine allocations and
decryptions across many font dictionaries during face loading,
causing severe memory and CPU exhaustion.

[ Impact ]
A remote attacker could exploit a vulnerability in FreeType's CID font loader
by tricking a user into opening content that embeds or references a specially
crafted CID-keyed font. This crafted font can cause repeated allocations and
decryptions of subroutine data across multiple font dictionaries, leading to
excessive memory and CPU consumption. This can result in a denial of service
(DoS) for the application or service processing the font, potentially causing
it to hang or terminate.

[ Tests ]
Manual testing.

[ Risks ]
The patch was developed by an upstream FreeType developer and verified by
another.

[ Checklist ]
  [X] *all* changes are documented in the d/changelog
  [X] I reviewed all changes and I approve them
  [X] attach debdiff against the package in (old)stable
  [X] the issue is verified as fixed in unstable

[ Changes ]
This upload adds an upstream patch to fix CVE-2026-95512. It is the same patch
applied to Sid and Forky.

[ Other info ]
Debian Security Team advised no DSA with my agreement.
diff -Nru freetype-2.13.3+dfsg/debian/changelog 
freetype-2.13.3+dfsg/debian/changelog
--- freetype-2.13.3+dfsg/debian/changelog       2026-03-18 07:21:54.000000000 
+1100
+++ freetype-2.13.3+dfsg/debian/changelog       2026-10-11 21:53:20.000000000 
+1100
@@ -1,3 +1,9 @@
+freetype (2.13.3+dfsg-1+deb13u2) trixie; urgency=medium
+
+  * debian/patches: Fix CVE-2026-95512 (Closes: #1149953).
+
+ -- Hugh McMaster <[email protected]>  Sun, 11 Oct 2026 21:53:20 +1100
+
 freetype (2.13.3+dfsg-1+deb13u1) trixie-security; urgency=medium
 
   * CVE-2026-23865 (Closes: #1129606)
diff -Nru freetype-2.13.3+dfsg/debian/patches/CVE-2026-95512.patch 
freetype-2.13.3+dfsg/debian/patches/CVE-2026-95512.patch
--- freetype-2.13.3+dfsg/debian/patches/CVE-2026-95512.patch    1970-01-01 
10:00:00.000000000 +1000
+++ freetype-2.13.3+dfsg/debian/patches/CVE-2026-95512.patch    2026-10-11 
21:48:07.000000000 +1100
@@ -0,0 +1,46 @@
+From f3ca71c9900fe860849b3163a6e2c1e765b291d9 Mon Sep 17 00:00:00 2001
+From: Alexei Podtelezhnikov <[email protected]>
+Date: Mon, 7 Sep 2026 15:02:23 -0400
+Subject: [PATCH] * src/cid/cidload.c (cid_read_subrs): Limit overlaps.
+
+Overlaps between subroutine dictionaries can be useful but prone to
+abuses. The arbitrary limit can be adjusted in the future. Fixes #1457.
+
+Bug: https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1457
+Bug-Debian: https://bugs.debian.org/1149953
+Last-Update: 2026-10-05
+
+---
+ src/cid/cidload.c | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/src/cid/cidload.c b/src/cid/cidload.c
+index 1a0e6b156..b9ab1b9e0 100644
+--- a/src/cid/cidload.c
++++ b/src/cid/cidload.c
+@@ -517,6 +517,7 @@
+     CID_Subrs      subr;
+     FT_UInt        max_offsets = 0;
+     FT_ULong*      offsets = NULL;
++    FT_ULong       cum_len = 0;
+     PSAux_Service  psaux = (PSAux_Service)face->psaux;
+ 
+ 
+@@ -584,6 +585,14 @@
+       /* now, compute the size of subrs charstrings, */
+       /* allocate, and read them                     */
+       data_len = offsets[num_subrs] - offsets[0];
++      cum_len += data_len;
++
++      if ( cum_len / 4 > stream->size )
++      {
++        FT_ERROR(( "cid_read_subrs: excessive overlaps\n" ));
++        error = FT_THROW( Invalid_File_Format );
++        goto Fail;
++      }
+ 
+       if ( FT_QNEW_ARRAY( subr->code, num_subrs + 1 ) ||
+            FT_QALLOC( subr->code[0], data_len )       )
+-- 
+GitLab
+
diff -Nru freetype-2.13.3+dfsg/debian/patches/series 
freetype-2.13.3+dfsg/debian/patches/series
--- freetype-2.13.3+dfsg/debian/patches/series  2026-03-18 07:21:34.000000000 
+1100
+++ freetype-2.13.3+dfsg/debian/patches/series  2026-10-11 21:48:26.000000000 
+1100
@@ -3,3 +3,4 @@
 no-web-fonts.patch
 hide-donations-information.patch
 CVE-2026-23865.patch
+CVE-2026-95512.patch

Reply via email to