<?xml version="1.0" encoding="UTF-8"?>
<cvrfdoc xmlns="http://www.icasi.org/CVRF/schema/cvrf/1.1" xmlns:cvrf="http://www.icasi.org/CVRF/schema/cvrf/1.1">
  <DocumentTitle xml:lang="en">Security update for fontforge</DocumentTitle>
  <DocumentType>SUSE Patch</DocumentType>
  <DocumentPublisher Type="Vendor">
    <ContactDetails>security@suse.de</ContactDetails>
    <IssuingAuthority>SUSE Security Team</IssuingAuthority>
  </DocumentPublisher>
  <DocumentTracking>
    <Identification>
      <ID>openSUSE-SU-2026:20235-1</ID>
    </Identification>
    <Status>Final</Status>
    <Version>1</Version>
    <RevisionHistory>
      <Revision>
        <Number>1</Number>
        <Date>2026-02-14T21:30:01Z</Date>
        <Description>current</Description>
      </Revision>
    </RevisionHistory>
    <InitialReleaseDate>2026-02-14T21:30:01Z</InitialReleaseDate>
    <CurrentReleaseDate>2026-02-14T21:30:01Z</CurrentReleaseDate>
    <Generator>
      <Engine>cve-database/bin/generate-cvrf.pl</Engine>
      <Date>2017-02-24T01:00:00Z</Date>
    </Generator>
  </DocumentTracking>
  <DocumentNotes>
    <Note Title="Topic" Type="Summary" Ordinal="1" xml:lang="en">Security update for fontforge</Note>
    <Note Title="Details" Type="General" Ordinal="2" xml:lang="en">This update for fontforge fixes the following issues:

Update to version 20251009.

Security issues fixed:

- CVE-2025-15279: remote code execution via heap-based buffer overflow in BMP file parsing (bsc#1256013).
- CVE-2025-15269: remote code execution via use-after-free in SFD file parsing (bsc#1256032).
- CVE-2025-15275: arbitrary code execution via SFD file parsing buffer overflow (bsc#1256025).
- CVE-2025-50949: memory leak in function DlgCreate8 (bsc#1252652).

Other updates and bugfixes:

- fix multiple crashes in Multiple Masters.
- fix crash for content over 32767 characters in GDraw multiline text field.
- fix crash on Up/Down
- fix crash in Metrics View.
- fix UFO crash for empty contours.
- fix crash issue in allmarkglyphs.

- Version update to 20251009:

  * Update documentation for py scripts (#5180)
  * Update GitHub CI runners (#5328)
  * Update po files from Croudin sources. (#5330)
  * Use consistent Python in MacOS GitHub runner (#5331)
  * Fix CI for Windows GitHub runner (#5335)
  * Fix lookup flags parsing (#5338)
  * Fixes (#5332): glyph file names uXXXXX (#5333)
  * make harmonization robust and avoid zero handles after harmonization (#5262)
  * Quiet strict prototypes warnings. (#5313)
  * Fix crash in parsegvar() due to insufficient buffer (#5339)
  * Handle failed iconv conversion. Unhandled execution path was UB, causing a segfault for me (#5329)
  * Fix CMake function _get_git_version() (#5342)
  * Don't require individual tuple encapsulation in fontforge.font.bitmapSizes setter (#5138)
  * nltransform of anchor points (#5345)
  * Fix generateFontPostHook being called instead of generateFontPreHook (#5226)
  * Always set usDefaultChar to 0 (.notdef) (#5242)
  * add font attributes, method to Python docs (#5353)
  * fix segfault triggered by Python del c[i:j] (#5352)
  * Autoselect internal WOFF2 format (#5346)
  * Fix typos in the FAQ (#5355)
  * add font.style_set_names attribute to Python API (#5354)
  * Bulk tester (#5365)
  * Fix Splinefont shell invocation (#5367)
  * Fix the lists of Windows language IDs (#5359)
  * Support suplementary planes in SFD (emojis etc.) (#5364)
  * Remove psaltnames for multi-code-point names (#5305)
  * doc: added missing sudo to installation instructions (#5300)
  * Fix data corruption on SFD reading (#5380)
  * Compare vertical metrics check when generating TTC (#5372)
  * Treat FT_PIXEL_MODE_MONO as 2 grey levels (#5379)
  * Don't attempt to copy anchors into NULL font (#5405)
  * Fix export of supplementary plane characters in font name to TTF (#5396)
  * Defer crowdin update to the end of the pipeline (#5409)
  * Fix generated feature file bugs (#5384)
  * crowdin: update to java 17 (#5447)
  * Remove assert from Python script processor (#5410)
  * Use sysconfig for Python module locations (#5423)
  * Use PyConfig API on Python 3.8 (#5404)
  * Fix resource leak in unParseTTInstrs (#5476)
  * Only install GUI-specific files if ENABLE_GUI is set (#5451)
  * add math device tables to Python API (#5348)
  * Update CI runner to macOS 13 (#5482)
  * Allow hyphen and special characters in Feature File glyph names (#5358)
  * Fix Python font.appendSFNTName() function (#5494)
  * Update mm.c (#5386)
  * Warning rollup (probably some hidden bugs!) from clang trunk (#5492)
  * Fix function PyFFFont_addSmallCaps. (#5519)
  * Make SmallCaps() create symbols (#5517)
  * Segfault fix and complete implementation of "Don't generate FFTM tables" (#5509)
  * Modernize fixed pitch flag computation (#5506)
  * fix memleak in function utf7toutf8_copy (#5495)
  * Avoid crashes in Python scripts when objects are accessed in invalid state (#5483)
  * Fix CI for Ubuntu 24 (#5531)
  * Bump GitHub CI runner to Ubuntu 22 (#5551)
  * Fix memory corruption in SFUnicodeRanges() (#5537)
  * Add contour draw option to H.Metrics. (#5496)
  * Fix scaling of references in CharView (#5558)
  * Fix TTF validation on load for fixed pitch fonts (#5562)
  * Performance fixes for GSUB/GPOS dumps (#5547)
  * Simple GTK-based dialog with CSS appearance support (#5546)
  * Support Harfbuzz in Metrics View (#5522)
  * Update po files from crowdin translations (#5575)
  * Be more clever about label text in gtextfield (#5583)
  * Add minimal support for GDEF version 1.3 (#5584)
  * Sanitize messages from python (#5589)
  * Fix a crash caused by deleting a glyph with vertical kerning pairs. (#5592)
  * THEME -&gt; GUI_THEME (#5596)
  * Update po translations from Crowdin (#5593)
  * Upgrade to Unicode 16.0.0 (#5594)
  * Fix Linux AppImage (#5599)
  * Upgrade to Unicode 17.0.0 and extend the language and script lists (#5618)
  * Remove X11 and non-Cairo drawing backends (#5612)
  * Add macOS dependency setup script (#5563)
  * Fix hotkeys in BitmapView (#5626)
  * Manually install Inno Setup 6 (#5621)
  * Remove cv-&gt;back_img_out_of_date and cv-&gt;backimgs (#5625)
  * fix spelling "bt" -&gt; "but" (#5636)
  * Fix typos in Python module docs (#5634)

- Version update to 20230101+git59.770356c9b:

  * Add contour draw option to H.Metrics. (#5496)
  * Fix memory corruption in SFUnicodeRanges() (#5537)
  * Bump GitHub CI runner to Ubuntu 22 (#5551)
  * Fix CI for Ubuntu 24 (#5531)
  * Avoid crashes in Python scripts when objects are accessed in
    invalid state (#5483)
  * fix memleak in function utf7toutf8_copy (#5495)
  * Modernize fixed pitch flag computation (#5506)
  * Segfault fix and complete implementation of "Don't generate
    FFTM tables" (#5509)
  * Make SmallCaps() translate symbols, too.  Update
    documentation accordingly. (#5517)
  * Fix function PyFFFont_addSmallCaps. (#5519)
  * Warning rollup (probably some hidden bugs!) from clang trunk
    (#5492)
  * Update mm.c (#5386)
  * fix memleak in function DlgCreate8 (#5491)
  * Fix Python font.appendSFNTName() function (#5494)
  * Allow hyphen and special characters in Feature File glyph names
    (#5358)
  * Update CI runner to macOS 13 (#5482)
  * add math device tables to Python API (#5348)
  * Only install GUI-specific files if ENABLE_GUI is set (#5451)
  * Fix resource leak in unParseTTInstrs (#5476)
  * Use PyConfig API on Python 3.8 (#5404)
  * Use sysconfig for Python module locations (#5423)
  * More crowdin fix
  * Python script shall trigger no asserts (#5410)
  * crowdin: update to java 17 (#5447)
  * try fix crowdin
  * Fix generated feature file bugs (#5384)
  * Defer crowdin update to the end of the pipeline (#5409)
  * Fix export of supplementary plane characters in font name to
    TTF (#5396)
  * Don't attempt to copy anchors into NULL font (#5405)
  * Treat FT_PIXEL_MODE_MONO as 2 grey levels (#5379)
  * Compare vertical metrics check when generating TTC (#5372)
  * Fix data corruption on SFD reading (#5380)
  * doc: added missing sudo to installation instructions (#5300)
  * Remove `psaltnames` for multi-code-point names (#5305)
  * Support suplementary planes in SFD (emojis etc.) (#5364)
  * Fix the lists of Windows language IDs (#5359)
  * fix splinefont shell command injection (#5367)
  * Bulk tester (#5365)
  * add `font.style_set_names` attribute to Python API (#5354)
  * Fix typos in the FAQ (#5355)
  * Autoselect internal WOFF2 format (#5346)
  * fix segfault triggered by Python `del c[i:j]` (#5352)
  * add `font` attributes, method to Python docs (#5353)
  * Always set `usDefaultChar` to 0 (.notdef) (#5242)
  * Fix generateFontPostHook being called instead of
    generateFontPreHook (#5226)
  * nltransform of anchor points (#5345)
  * Don't require individual tuple encapsulation in
    fontforge.font.bitmapSizes setter (#5138)
  * Fix CMake function _get_git_version() (#5342)
  * Handle failed iconv conversion. Unhandled execution path was
    UB, causing a segfault for me (#5329)
  * Fix crash in parsegvar() due to insufficient buffer (#5339)
  * Quiet strict prototypes warnings. (#5313)
  * harmonizing can now no longer produce zero handles, the
    computation of harmonization is now numerically robust (#5262)
  * Fix glyph file names uXXXXX (#5333)
  * Fix lookup flags parsing (#5338)
  * Duplicate libfontforge.dll for "py" and "pyhook" tests. (#5335)
  * Use consistent Python in MacOS GitHub runner (#5331)
  * Update po files from Croudin sources after fixing problems
  * Fix GinHub CI runners (#5328)
</Note>
    <Note Title="Terms of Use" Type="Legal Disclaimer" Ordinal="3" xml:lang="en">The CVRF data is provided by SUSE under the Creative Commons License 4.0 with Attribution (CC-BY-4.0).</Note>
    <Note Title="Patchnames" Type="Details" Ordinal="4" xml:lang="en">openSUSE-Leap-16.0-286</Note>
  </DocumentNotes>
  <DocumentDistribution xml:lang="en">Copyright SUSE LLC under the Creative Commons License 4.0 with Attribution (CC-BY-4.0)</DocumentDistribution>
  <DocumentReferences>
    <Reference Type="Self">
      <URL>https://www.suse.com/support/security/rating/</URL>
      <Description>SUSE Security Ratings</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1252652</URL>
      <Description>SUSE Bug 1252652</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1256013</URL>
      <Description>SUSE Bug 1256013</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1256025</URL>
      <Description>SUSE Bug 1256025</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://bugzilla.suse.com/1256032</URL>
      <Description>SUSE Bug 1256032</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2025-15269/</URL>
      <Description>SUSE CVE CVE-2025-15269 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2025-15275/</URL>
      <Description>SUSE CVE CVE-2025-15275 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2025-15279/</URL>
      <Description>SUSE CVE CVE-2025-15279 page</Description>
    </Reference>
    <Reference Type="Self">
      <URL>https://www.suse.com/security/cve/CVE-2025-50949/</URL>
      <Description>SUSE CVE CVE-2025-50949 page</Description>
    </Reference>
  </DocumentReferences>
  <ProductTree xmlns="http://www.icasi.org/CVRF/schema/prod/1.1">
    <Branch Type="Product Family" Name="openSUSE Leap 16.0">
      <Branch Type="Product Name" Name="openSUSE Leap 16.0">
        <FullProductName ProductID="openSUSE Leap 16.0">openSUSE Leap 16.0</FullProductName>
      </Branch>
    </Branch>
    <Branch Type="Product Version" Name="fontforge-20251009-160000.1.1">
      <FullProductName ProductID="fontforge-20251009-160000.1.1">fontforge-20251009-160000.1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="fontforge-devel-20251009-160000.1.1">
      <FullProductName ProductID="fontforge-devel-20251009-160000.1.1">fontforge-devel-20251009-160000.1.1</FullProductName>
    </Branch>
    <Branch Type="Product Version" Name="fontforge-doc-20251009-160000.1.1">
      <FullProductName ProductID="fontforge-doc-20251009-160000.1.1">fontforge-doc-20251009-160000.1.1</FullProductName>
    </Branch>
    <Relationship ProductReference="fontforge-20251009-160000.1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 16.0">
      <FullProductName ProductID="openSUSE Leap 16.0:fontforge-20251009-160000.1.1">fontforge-20251009-160000.1.1 as a component of openSUSE Leap 16.0</FullProductName>
    </Relationship>
    <Relationship ProductReference="fontforge-devel-20251009-160000.1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 16.0">
      <FullProductName ProductID="openSUSE Leap 16.0:fontforge-devel-20251009-160000.1.1">fontforge-devel-20251009-160000.1.1 as a component of openSUSE Leap 16.0</FullProductName>
    </Relationship>
    <Relationship ProductReference="fontforge-doc-20251009-160000.1.1" RelationType="Default Component Of" RelatesToProductReference="openSUSE Leap 16.0">
      <FullProductName ProductID="openSUSE Leap 16.0:fontforge-doc-20251009-160000.1.1">fontforge-doc-20251009-160000.1.1 as a component of openSUSE Leap 16.0</FullProductName>
    </Relationship>
  </ProductTree>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="1">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">FontForge SFD File Parsing Use-After-Free Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of FontForge. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.

The specific flaw exists within the parsing of SFD files. The issue results from the lack of validating the existence of an object prior to performing operations on the object. An attacker can leverage this vulnerability to execute code in the context of the current user. Was ZDI-CAN-28564.</Note>
    </Notes>
    <CVE>CVE-2025-15269</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 16.0:fontforge-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-devel-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-doc-20251009-160000.1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL/>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2025-15269.html</URL>
        <Description>CVE-2025-15269</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1256032</URL>
        <Description>SUSE Bug 1256032</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="2">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">FontForge SFD File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of FontForge. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.

The specific flaw exists within the parsing of SFD files. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the current user. Was ZDI-CAN-28543.</Note>
    </Notes>
    <CVE>CVE-2025-15275</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 16.0:fontforge-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-devel-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-doc-20251009-160000.1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL/>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2025-15275.html</URL>
        <Description>CVE-2025-15275</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1256025</URL>
        <Description>SUSE Bug 1256025</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="3">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">FontForge GUtils BMP File Parsing Heap-based Buffer Overflow Remote Code Execution Vulnerability. This vulnerability allows remote attackers to execute arbitrary code on affected installations of FontForge. User interaction is required to exploit this vulnerability in that the target must visit a malicious page or open a malicious file.

The specific flaw exists within the parsing of pixels within BMP files. The issue results from the lack of proper validation of the length of user-supplied data prior to copying it to a heap-based buffer. An attacker can leverage this vulnerability to execute code in the context of the current user. Was ZDI-CAN-27517.</Note>
    </Notes>
    <CVE>CVE-2025-15279</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 16.0:fontforge-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-devel-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-doc-20251009-160000.1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL/>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2025-15279.html</URL>
        <Description>CVE-2025-15279</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1256013</URL>
        <Description>SUSE Bug 1256013</Description>
      </Reference>
    </References>
  </Vulnerability>
  <Vulnerability xmlns="http://www.icasi.org/CVRF/schema/vuln/1.1" Ordinal="4">
    <Notes>
      <Note Title="Vulnerability Description" Type="General" Ordinal="1" xml:lang="en">FontForge v20230101 was discovered to contain a memory leak via the component DlgCreate8.</Note>
    </Notes>
    <CVE>CVE-2025-50949</CVE>
    <ProductStatuses>
      <Status Type="Fixed">
        <ProductID>openSUSE Leap 16.0:fontforge-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-devel-20251009-160000.1.1</ProductID>
        <ProductID>openSUSE Leap 16.0:fontforge-doc-20251009-160000.1.1</ProductID>
      </Status>
    </ProductStatuses>
    <Threats>
      <Threat Type="Impact">
        <Description>important</Description>
      </Threat>
    </Threats>
    <Remediations>
      <Remediation Type="Vendor Fix">
        <Description xml:lang="en">To install this SUSE Security Update use the SUSE recommended installation methods like YaST online_update or "zypper patch".
</Description>
        <URL/>
      </Remediation>
    </Remediations>
    <References>
      <Reference>
        <URL>https://www.suse.com/security/cve/CVE-2025-50949.html</URL>
        <Description>CVE-2025-50949</Description>
      </Reference>
      <Reference>
        <URL>https://bugzilla.suse.com/1252652</URL>
        <Description>SUSE Bug 1252652</Description>
      </Reference>
    </References>
  </Vulnerability>
</cvrfdoc>
