{"id":"UBUNTU-CVE-2026-54059","details":"Pillow is a Python imaging library. Prior to 12.3.0, PIL/PcfFontFile.py _load_bitmaps() read glyph dimensions from the PCF METRICS section and passed them directly to Image.frombytes() without calling Image._decompression_bomb_check(), allowing crafted PCF font data to cause excessive memory allocation. This issue is fixed in version 12.3.0.","modified":"2026-09-21T21:39:46.526495238Z","published":"2026-07-06T19:17:00Z","upstream":["CVE-2026-54059"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-54059"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-54059"},{"type":"REPORT","url":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-8v84-f9pq-wr9x"},{"type":"REPORT","url":"https://github.com/python-pillow/Pillow/blob/main/docs/releasenotes/12.3.0.rst"}],"affected":[{"package":{"name":"pillow","ecosystem":"Ubuntu:Pro:14.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=esm-infra-legacy%2Ftrusty"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.2.1-1ubuntu2","2.2.1-2ubuntu1","2.2.1-3ubuntu2","2.2.1-3ubuntu3","2.2.1-3ubuntu4","2.2.1-3ubuntu6","2.3.0-1ubuntu1","2.3.0-1ubuntu2","2.3.0-1ubuntu3","2.3.0-1ubuntu3.2","2.3.0-1ubuntu3.3","2.3.0-1ubuntu3.4","2.3.0-1ubuntu3.4+esm1","2.3.0-1ubuntu3.4+esm2","2.3.0-1ubuntu3.4+esm3","2.3.0-1ubuntu3.4+esm4","2.3.0-1ubuntu3.4+esm5"],"ecosystem_specific":{"binaries":[{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python-imaging"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python-imaging-compat"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python-imaging-sane"},{"binary_name":"python-imaging-tk","binary_version":"2.3.0-1ubuntu3.4+esm5"},{"binary_name":"python-pil","binary_version":"2.3.0-1ubuntu3.4+esm5"},{"binary_name":"python-pil.imagetk","binary_version":"2.3.0-1ubuntu3.4+esm5"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python-sane"},{"binary_name":"python3-imaging","binary_version":"2.3.0-1ubuntu3.4+esm5"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python3-imaging-sane"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python3-imaging-tk"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python3-pil"},{"binary_version":"2.3.0-1ubuntu3.4+esm5","binary_name":"python3-pil.imagetk"},{"binary_name":"python3-sane","binary_version":"2.3.0-1ubuntu3.4+esm5"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow","ecosystem":"Ubuntu:Pro:16.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=esm-infra%2Fxenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.9.0-1","3.0.0-1","3.0.0-1build1","3.1.0-1","3.1.1-1","3.1.2-0ubuntu1","3.1.2-0ubuntu1.1","3.1.2-0ubuntu1.3","3.1.2-0ubuntu1.4","3.1.2-0ubuntu1.5","3.1.2-0ubuntu1.6","3.1.2-0ubuntu1.6+esm1","3.1.2-0ubuntu1.6+esm2","3.1.2-0ubuntu1.6+esm3"],"ecosystem_specific":{"binaries":[{"binary_name":"python-imaging","binary_version":"3.1.2-0ubuntu1.6+esm3"},{"binary_name":"python-pil","binary_version":"3.1.2-0ubuntu1.6+esm3"},{"binary_name":"python-pil.imagetk","binary_version":"3.1.2-0ubuntu1.6+esm3"},{"binary_version":"3.1.2-0ubuntu1.6+esm3","binary_name":"python3-pil"},{"binary_name":"python3-pil.imagetk","binary_version":"3.1.2-0ubuntu1.6+esm3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow","ecosystem":"Ubuntu:Pro:18.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=esm-infra%2Fbionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["4.1.1-3build2","4.3.0-2ubuntu1","5.0.0-1","5.1.0-1","5.1.0-1ubuntu0.2","5.1.0-1ubuntu0.3","5.1.0-1ubuntu0.4","5.1.0-1ubuntu0.5","5.1.0-1ubuntu0.6","5.1.0-1ubuntu0.7","5.1.0-1ubuntu0.8","5.1.0-1ubuntu0.8+esm1","5.1.0-1ubuntu0.8+esm2"],"ecosystem_specific":{"binaries":[{"binary_name":"python-pil","binary_version":"5.1.0-1ubuntu0.8+esm2"},{"binary_name":"python-pil.imagetk","binary_version":"5.1.0-1ubuntu0.8+esm2"},{"binary_version":"5.1.0-1ubuntu0.8+esm2","binary_name":"python3-pil"},{"binary_name":"python3-pil.imagetk","binary_version":"5.1.0-1ubuntu0.8+esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=esm-infra%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.1.0-1","6.1.0-1build1","6.2.1-2","7.0.0-4","7.0.0-4build1","7.0.0-4ubuntu0.1","7.0.0-4ubuntu0.2","7.0.0-4ubuntu0.3","7.0.0-4ubuntu0.4","7.0.0-4ubuntu0.5","7.0.0-4ubuntu0.6","7.0.0-4ubuntu0.7","7.0.0-4ubuntu0.8","7.0.0-4ubuntu0.9","7.0.0-4ubuntu0.9+esm1"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pil","binary_version":"7.0.0-4ubuntu0.9+esm1"},{"binary_name":"python3-pil.imagetk","binary_version":"7.0.0-4ubuntu0.9+esm1"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow-python2","ecosystem":"Ubuntu:Pro:20.04:LTS","purl":"pkg:deb/ubuntu/pillow-python2?arch=source&distro=esm-apps%2Ffocal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["6.2.1-3~build1","6.2.1-3","6.2.1-3ubuntu0.1~esm1","6.2.1-3ubuntu0.1~esm2"],"ecosystem_specific":{"binaries":[{"binary_version":"6.2.1-3ubuntu0.1~esm2","binary_name":"python-pil"},{"binary_name":"python-pil.imagetk","binary_version":"6.2.1-3ubuntu0.1~esm2"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["8.1.2+dfsg-0.3","9.0.0-1","9.0.1-1","9.0.1-1build1","9.0.1-1ubuntu0.1","9.0.1-1ubuntu0.2","9.0.1-1ubuntu0.3","9.0.1-1ubuntu0.4","9.0.1-1ubuntu0.5"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pil","binary_version":"9.0.1-1ubuntu0.5"},{"binary_version":"9.0.1-1ubuntu0.5","binary_name":"python3-pil.imagetk"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow","ecosystem":"Ubuntu:24.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=noble"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["10.0.0-1","10.1.0-1","10.2.0-1","10.2.0-1build1","10.2.0-1ubuntu1","10.2.0-1ubuntu1.2","10.2.0-1ubuntu1.3"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pil","binary_version":"10.2.0-1ubuntu1.3"},{"binary_name":"python3-pil.imagetk","binary_version":"10.2.0-1ubuntu1.3"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}},{"package":{"name":"pillow","ecosystem":"Ubuntu:26.04:LTS","purl":"pkg:deb/ubuntu/pillow?arch=source&distro=resolute"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["11.3.0-1ubuntu1","11.3.0-1ubuntu2","12.0.0-1ubuntu1","12.1.1-1ubuntu1","12.1.1-2ubuntu1","12.1.1-2ubuntu1.1","12.1.1-2ubuntu1.2","12.1.1-2ubuntu1.3"],"ecosystem_specific":{"binaries":[{"binary_name":"python3-pil","binary_version":"12.1.1-2ubuntu1.3"},{"binary_version":"12.1.1-2ubuntu1.3","binary_name":"python3-pil.imagetk"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-54059.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"},{"type":"Ubuntu","score":"medium"}]}