{"id":"UBUNTU-CVE-2026-44950","details":"fs_read_glyphs() in the libXfont2 font-server client (src/fc/fserve.c) copies each glyph's bitmap into a single buffer. Existing checks validates only that the source slice (position, length) lies within the source bitmap buffer. It does not check whether the running destination cursor has exceeded the allocation. A malicious font server can send overlapping source offsets -- for example 1000 glyphs each referencing {position:0, length:64} with nbytes=64. Each individual source range passes the existing validation, but the cumulative writes total 64000 bytes into a 64-byte destination buffer. This is a heap buffer overflow with attacker-controlled content.","modified":"2026-09-16T14:01:37.692954065Z","published":"2026-09-10T09:17:00Z","upstream":["CVE-2026-44950"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-44950"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-44950"},{"type":"REPORT","url":"https://www.openwall.com/lists/oss-security/2026/08/05/1"}],"affected":[{"package":{"name":"libxfont","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=esm-infra-legacy%2Ftrusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:1.4.6-1","1:1.4.6-1ubuntu1","1:1.4.7-1","1:1.4.7-1ubuntu0.1","1:1.4.7-1ubuntu0.2","1:1.4.7-1ubuntu0.3","1:1.4.7-1ubuntu0.4","1:1.4.7-1ubuntu0.4+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont1","binary_version":"1:1.4.7-1ubuntu0.4+esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=esm-infra-legacy%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:1.5.1-1","1:1.5.1-1ubuntu0.16.04.1","1:1.5.1-1ubuntu0.16.04.2","1:1.5.1-1ubuntu0.16.04.3","1:1.5.1-1ubuntu0.16.04.4","1:1.5.1-1ubuntu0.16.04.4+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont1","binary_version":"1:1.5.1-1ubuntu0.16.04.4+esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont2","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/libxfont2?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:2.0.1-3~ubuntu16.04.1","1:2.0.1-3~ubuntu16.04.2","1:2.0.1-3~ubuntu16.04.3"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont2","binary_version":"1:2.0.1-3~ubuntu16.04.3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:2.0.1-3ubuntu1","1:2.0.1-4","1:2.0.1-4ubuntu1","1:2.0.3-1","1:2.0.3-1ubuntu0.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont2","binary_version":"1:2.0.3-1ubuntu0.1~esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=esm-infra%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:2.0.3-1","1:2.0.3-1ubuntu0.20.04.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"1:2.0.3-1ubuntu0.20.04.1~esm2","binary_name":"libxfont2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:2.0.4-1build3","1:2.0.5-1","1:2.0.5-1build1","1:2.0.5-1ubuntu0.2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont2","binary_version":"1:2.0.5-1ubuntu0.2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:2.0.6-1","1:2.0.6-1build1","1:2.0.6-1+deb13u1build0.24.04.2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont2","binary_version":"1:2.0.6-1+deb13u1build0.24.04.2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}},{"package":{"name":"libxfont","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/libxfont?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:2.0.6-1build1","1:2.0.6-1build2","1:2.0.6-2","1:2.0.6-2ubuntu0.2"],"ecosystem_specific":{"binaries":[{"binary_name":"libxfont2","binary_version":"1:2.0.6-2ubuntu0.2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-44950.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H"},{"type":"Ubuntu","score":"medium"}]}