CVE-2026-110605 Details
Description
libschrift through 0.10.2 contains a divide by zero vulnerability that allows attackers to crash applications by supplying a font with unitsPerEm of 0 in the head table. Attackers can provide a crafted TrueType font whose NaN glyph coordinates bypass clip_points(), causing an out-of-bounds raster read in draw_line() during sft_render() and crashing the process.
A divide-by-zero vulnerability has been identified in libschrift versions through 0.10.2. This issue arises when a font with a unitsPerEm value of 0 is loaded, allowing for crafted TrueType fonts to exploit the vulnerability. The NaN coordinates of the glyphs can bypass the clipping mechanism, resulting in an out-of-bounds read in the draw_line function during the rendering process, which crashes the application.
To address this vulnerability, libschrift should be updated to reject fonts with a unitsPerEm value of 0 or outside the valid range of 16 to 16384. This validation should be implemented in the init_font function, right after reading the unitsPerEm value. Additionally, the clip_points function should be made safe for NaN values to prevent future occurrences of similar vulnerabilities.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Oct 14, 2026CISA-ADP
Assessed Oct 26, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/tomolt/libschrift/issues/46 | CISA-ADP | ExploitIssue TrackingTechnical DescriptionVendor |
| https://hackmd.io/@haind-pwn/libschrift-unitsperem-zero-oob | CISA-ADP | ExploitTechnical Analysis |
| https://github.com/tomolt/libschrift/blob/v0.10.2/schrift.c#L1422-L1503 | [email protected] | Source CodeVendor |
| https://github.com/tomolt/libschrift/blob/v0.10.2/schrift.c#L542 | [email protected] | Source CodeVendor |
| https://github.com/tomolt/libschrift/issues/46 | [email protected] | ExploitIssue TrackingTechnical DescriptionVendor |
| https://hackmd.io/@haind-pwn/libschrift-unitsperem-zero-oob | [email protected] | ExploitTechnical Analysis |
| https://www.vulncheck.com/advisories/libschrift-through-0.10.2-divide-by-zero-via-unitsperem-in-draw-line | [email protected] | AdvisoryBundleRemedy |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-369 | Divide By Zero | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| libschrift | <= 0.10.2 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Oct 26, 2026 | CVE Modified | CISA-ADP |
| Oct 14, 2026 | New CVE Received | [email protected] |
Volerion