{"id":"CVE-2026-42311","aliases":["BIT-pillow-2026-42311","CLSA-2026-1787244054","CLSA-2026-1790154692","CLSA-2026-1790239705","DEBIAN-CVE-2026-42311","EUVD-2026-28903","GHSA-pwv6-vv43-88gr","OESA-2026-2428","OESA-2026-2429","OESA-2026-2515","PYSEC-2026-2252","ROOT-APP-PYPI-CVE-2026-42311","SUSE-SU-2026:22626-1","UBUNTU-CVE-2026-42311","USN-8399-1","openSUSE-SU-2026:11261-1","openSUSE-SU-2026:21296-1"],"status":"published","title":"Pillow: OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","severity":{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.0015,"percentile":0.04217,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-190","CWE-787"],"published":"2026-05-04T20:20:31Z","modified":"2026-11-06T11:15:06Z","fixes":[{"ecosystem":"PyPI","package":"pillow","fixed_in":["12.2.0"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"pillow","fixed_in":["12.2.0"],"sources":["osv"]},{"ecosystem":"TuxCare:PyPI","package":"pillow","fixed_in":["11.3.0.post4+tuxcare","11.2.1.post7+tuxcare","10.4.0.post8+tuxcare"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"pillow","fixed_in":["11.1.0-5+deb13u3"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"pillow","fixed_in":["12.2.0-1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS","package":"python-pillow","fixed_in":["10.3.0-5.oe2403"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP3","package":"python-pillow","fixed_in":["10.3.0-5.oe2403sp3"],"sources":["osv"]},{"ecosystem":"Root:PyPI","package":"pillow","fixed_in":["10.3.0+aikido.2","12.1.0+aikido.3","12.1.0+aikido.4","10.4.0+aikido.2","11.0.0+aikido.1","10.3.0+aikido.3","11.1.0+aikido.1","11.1.0+aikido.4","10.4.0+aikido.3","11.0.0+aikido.2","11.1.0+aikido.2","10.3.0+aikido.4","11.1.0+aikido.3","10.4.0+aikido.4","10.3.0+aikido.5","11.0.0+aikido.3","10.3.0+aikido.6","10.4.0+aikido.5","11.0.0+aikido.4","12.1.0+aikido.5","11.1.0+aikido.5","10.3.0+aikido.7","11.0.0+aikido.5","10.4.0+aikido.6","12.1.0+aikido.6","11.0.0+aikido.6","10.3.0+aikido.8","10.4.0+aikido.7","11.1.0+aikido.6","10.4.0+aikido.8","11.2.1+aikido.1","11.0.0+aikido.7","11.1.0+aikido.7","11.2.1+aikido.2","12.1.0+aikido.7","10.3.0+aikido.9","10.3.0+aikido.10","12.1.0+aikido.8","11.2.1+aikido.3","11.1.0+aikido.8","11.0.0+aikido.8","12.1.0+aikido.9","12.1.0+aikido.10","10.3.0+aikido.11","11.1.0+aikido.9","10.4.0+aikido.9","11.2.1+aikido.4","12.1.0+aikido.11","11.1.0+aikido.10","10.4.0+aikido.10","11.0.0+aikido.9","10.3.0+aikido.12","11.2.1+aikido.5","10.4.0+aikido.11","12.1.0+aikido.12","11.2.1+aikido.6","11.1.0+aikido.11","10.3.0+aikido.13","11.0.0+aikido.10","11.2.1+aikido.7","11.1.0+aikido.12","10.4.0+aikido.12","11.1.0+aikido.13","12.1.0+aikido.13","10.3.0+aikido.14","11.0.0+aikido.11","10.3.0+aikido.15","10.4.0+aikido.13","11.2.1+aikido.8","11.0.0+aikido.12","11.1.0+aikido.14","12.1.0+aikido.14","10.3.0+aikido.16","10.4.0+aikido.14","11.1.0+aikido.15","11.2.1+aikido.9","10.4.0+aikido.15","12.1.0+aikido.15","10.3.0+aikido.17","11.0.0+aikido.13","10.4.0+aikido.16","10.3.0+aikido.18","10.3.0+aikido.19","10.4.0+aikido.17","10.3.0+aikido.20","11.0.0+aikido.14","10.4.0+aikido.18"],"sources":["osv"]},{"ecosystem":"Ubuntu:25.10","package":"pillow","fixed_in":["11.3.0-1ubuntu1.3"],"sources":["osv"]},{"ecosystem":"Ubuntu:26.04:LTS","package":"pillow","fixed_in":["12.1.1-2ubuntu1.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"10.3.0"},{"fixed":"12.2.0"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"pillow","ranges":[{"type":"SEMVER","events":[{"introduced":"10.3.0"},{"fixed":"12.2.0"}]}]},{"source":"osv","ecosystem":"TuxCare:PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"11.3.0"},{"fixed":"11.3.0.post4+tuxcare"}]}],"versions":["11.3.0","11.3.0.post1+tuxcare","11.3.0.post2+tuxcare","11.3.0.post3+tuxcare"]},{"source":"osv","ecosystem":"TuxCare:PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"11.2.1"},{"fixed":"11.2.1.post7+tuxcare"}]}],"versions":["11.2.1","11.2.1.post1+tuxcare","11.2.1.post2+tuxcare","11.2.1.post3+tuxcare","11.2.1.post4+tuxcare","11.2.1.post5+tuxcare","11.2.1.post6+tuxcare"]},{"source":"osv","ecosystem":"TuxCare:PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"10.4.0"},{"fixed":"10.4.0.post8+tuxcare"}]}],"versions":["10.4.0","10.4.0.post1+tuxcare","10.4.0.post2+tuxcare","10.4.0.post3+tuxcare","10.4.0.post4+tuxcare","10.4.0.post5+tuxcare","10.4.0.post6+tuxcare","10.4.0.post7+tuxcare"]},{"source":"osv","ecosystem":"Debian:13","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.1.0-5+deb13u3"}]}],"versions":["11.1.0-5","11.1.0-5+deb13u1","11.1.0-5+deb13u2"]},{"source":"osv","ecosystem":"Debian:14","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.2.0-1"}]}],"versions":["11.1.0-5","11.2.1-1","11.3.0-1","12.0.0-1","12.1.0-1","12.1.1-1","12.1.1-2"]},{"source":"osv","ecosystem":"PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"10.3.0"},{"fixed":"12.2.0"}]}],"versions":["10.3.0","10.4.0","11.0.0","11.1.0","11.2.1","11.3.0","12.0.0","12.1.0","12.1.1"]},{"source":"osv","ecosystem":"openEuler:24.03-LTS","package":"python-pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.3.0-5.oe2403"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"python-pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.3.0-5.oe2403sp3"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"python-pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.3.0-5.oe2403sp1"}]}],"bundled":3},{"source":"osv","ecosystem":"PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"10.3.0"},{"fixed":"12.2.0"}]}],"versions":["10.3.0","10.4.0","11.0.0","11.1.0","11.2.1","11.3.0","12.0.0","12.1.0","12.1.1"]},{"source":"osv","ecosystem":"Root:PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.3.0+aikido.2"},{"fixed":"12.1.0+aikido.3"},{"fixed":"12.1.0+aikido.4"},{"fixed":"10.4.0+aikido.2"},{"fixed":"11.0.0+aikido.1"},{"fixed":"10.3.0+aikido.3"},{"fixed":"11.1.0+aikido.1"},{"fixed":"11.1.0+aikido.4"},{"fixed":"10.4.0+aikido.3"},{"fixed":"11.0.0+aikido.2"},{"fixed":"11.1.0+aikido.2"},{"fixed":"10.3.0+aikido.4"},{"fixed":"11.1.0+aikido.3"},{"fixed":"10.4.0+aikido.4"},{"fixed":"10.3.0+aikido.5"},{"fixed":"11.0.0+aikido.3"},{"fixed":"10.3.0+aikido.6"},{"fixed":"10.4.0+aikido.5"},{"fixed":"11.0.0+aikido.4"},{"fixed":"12.1.0+aikido.5"},{"fixed":"11.1.0+aikido.5"},{"fixed":"10.3.0+aikido.7"},{"fixed":"11.0.0+aikido.5"},{"fixed":"10.4.0+aikido.6"},{"fixed":"12.1.0+aikido.6"},{"fixed":"11.0.0+aikido.6"},{"fixed":"10.3.0+aikido.8"},{"fixed":"10.4.0+aikido.7"},{"fixed":"11.1.0+aikido.6"},{"fixed":"10.4.0+aikido.8"},{"fixed":"11.2.1+aikido.1"},{"fixed":"11.0.0+aikido.7"},{"fixed":"11.1.0+aikido.7"},{"fixed":"11.2.1+aikido.2"},{"fixed":"12.1.0+aikido.7"},{"fixed":"10.3.0+aikido.9"},{"fixed":"10.3.0+aikido.10"},{"fixed":"12.1.0+aikido.8"},{"fixed":"11.2.1+aikido.3"},{"fixed":"11.1.0+aikido.8"},{"fixed":"11.0.0+aikido.8"},{"fixed":"12.1.0+aikido.9"},{"fixed":"12.1.0+aikido.10"},{"fixed":"10.3.0+aikido.11"},{"fixed":"11.1.0+aikido.9"},{"fixed":"10.4.0+aikido.9"},{"fixed":"11.2.1+aikido.4"},{"fixed":"12.1.0+aikido.11"},{"fixed":"11.1.0+aikido.10"},{"fixed":"10.4.0+aikido.10"},{"fixed":"11.0.0+aikido.9"},{"fixed":"10.3.0+aikido.12"},{"fixed":"11.2.1+aikido.5"},{"fixed":"10.4.0+aikido.11"},{"fixed":"12.1.0+aikido.12"},{"fixed":"11.2.1+aikido.6"},{"fixed":"11.1.0+aikido.11"},{"fixed":"10.3.0+aikido.13"},{"fixed":"11.0.0+aikido.10"},{"fixed":"11.2.1+aikido.7"},{"fixed":"11.1.0+aikido.12"},{"fixed":"10.4.0+aikido.12"},{"fixed":"11.1.0+aikido.13"},{"fixed":"12.1.0+aikido.13"},{"fixed":"10.3.0+aikido.14"},{"fixed":"11.0.0+aikido.11"},{"fixed":"10.3.0+aikido.15"},{"fixed":"10.4.0+aikido.13"},{"fixed":"11.2.1+aikido.8"},{"fixed":"11.0.0+aikido.12"},{"fixed":"11.1.0+aikido.14"},{"fixed":"12.1.0+aikido.14"},{"fixed":"10.3.0+aikido.16"},{"fixed":"10.4.0+aikido.14"},{"fixed":"11.1.0+aikido.15"},{"fixed":"11.2.1+aikido.9"},{"fixed":"10.4.0+aikido.15"},{"fixed":"12.1.0+aikido.15"},{"fixed":"10.3.0+aikido.17"},{"fixed":"11.0.0+aikido.13"},{"fixed":"10.4.0+aikido.16"},{"fixed":"10.3.0+aikido.18"},{"fixed":"10.3.0+aikido.19"},{"fixed":"10.4.0+aikido.17"},{"fixed":"10.3.0+aikido.20"},{"fixed":"11.0.0+aikido.14"},{"fixed":"10.4.0+aikido.18"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"python-Pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-160000.6.1"}]}],"bundled":5},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"python-Pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-160000.6.1"}]}],"bundled":5},{"source":"osv","ecosystem":"Ubuntu:Pro:20.04:LTS","package":"pillow-python2","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"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-1ubuntu1.3"}]}],"versions":["11.1.0-5build1","11.3.0-1ubuntu1","11.3.0-1ubuntu1.1","11.3.0-1ubuntu1.2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1.1-2ubuntu1.2"}]}],"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"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"9.0.1-1ubuntu0.4"}]}],"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"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"10.2.0-1ubuntu1.2"}]}],"versions":["10.0.0-1","10.1.0-1","10.2.0-1","10.2.0-1build1","10.2.0-1ubuntu1"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-1ubuntu1.3"}]}],"versions":["11.1.0-5build1","11.3.0-1ubuntu1","11.3.0-1ubuntu1.1","11.3.0-1ubuntu1.2"],"bundled":4},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.1.1-2ubuntu1.2"}]}],"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"],"bundled":4},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-Pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.3.0-1.1"}]}],"bundled":24},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"python-Pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-160000.6.1"}]}],"bundled":5}],"products":[{"vendor":"python","product":"pillow"},{"vendor":"python-pillow","product":"pillow"}],"references":[{"url":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-pwv6-vv43-88gr","tags":["x_refsource_CONFIRM","Patch","Vendor Advisory","advisory","web","fix","report"]},{"url":"https://github.com/python-pillow/Pillow/pull/9520","tags":["x_refsource_MISC","Issue Tracking","Patch","fix","web","report"]},{"url":"https://github.com/python-pillow/Pillow/commit/58f9a1d166dcb0c274807d4423522d205b0c35ea","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/python-pillow/Pillow/releases/tag/12.2.0","tags":["x_refsource_MISC","Product","Release Notes","article","web","advisory","report"]},{"url":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-cfh3-3jmp-rvhc","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42311","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-pwv6-vv43-88gr"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42311.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-42311","tags":["advisory"]},{"url":"https://github.com/python-pillow/Pillow","tags":["package"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2428","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2429","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2515","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42308","tags":["advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-42310","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202622626-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1270404","tags":["report"]},{"url":"https://bugzilla.suse.com/1270409","tags":["report"]},{"url":"https://bugzilla.suse.com/1270410","tags":["report"]},{"url":"https://bugzilla.suse.com/1270411","tags":["report"]},{"url":"https://bugzilla.suse.com/1270412","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-42311","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-54059","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-54060","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55379","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-55380","tags":["web"]},{"url":"https://ubuntu.com/security/CVE-2026-42311","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-42311","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-8399-1","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-42308","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-42309","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-42310","tags":["report"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2014-3589","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2014-3598","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-0740","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-0775","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2016-3076","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-15999","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35653","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35654","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2020-35655","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-23437","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-25289","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-25290","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-25291","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-25292","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-25293","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-27921","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2021-34552","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-44271","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2023-50447","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2024-28219","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-4775","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-42311","title":"Pillow: OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T04:11:58.092Z","modified":"2026-05-12T02:24:33.053Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high","assessor":"cna"}],"cwes":["CWE-190","CWE-787"],"updated_at":"2026-11-02T13:40:35.004553Z"}],"euvd":[{"id":"EUVD-2026-28903","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T04:11:58Z","modified":"2026-05-12T02:24:33Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"updated_at":"2026-11-02T19:04:38.653286Z"}],"ghsa":[{"id":"GHSA-pwv6-vv43-88gr","title":"Pillow has an OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"### Impact\nProcessing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution.\n\n### Patches\nPatched version: 12.2.0\n\nPillow 12.1.1 addressed CVE-2026-25990 by adding checks for tile extents in PSD image decoding/encoding to prevent an out-of-bounds write. However, the bounds checks computed tile extent sums using types susceptible to integer overflow, meaning a PSD image with carefully chosen tile dimensions could produce values that wrap around and bypass the checks, still triggering an out-of-bounds write in src/decode.c and src/encode.c. The fix avoids adding extents together before comparison.\n\n### Workarounds\nUse any version but affected versions: \u003e= 10.3.0, \u003c 12.2.0\n\n### Resources\n - Fix: https://github.com/python-pillow/Pillow/pull/9520 \n - Original issue: CVE-2026-25990 (Pillow 12.1.1)","status":"published","published":"2026-05-04T20:20:31Z","modified":"2026-05-13T13:41:29Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-190","CWE-787"],"updated_at":"2026-11-02T14:40:07.01746Z"}],"nvd":[{"id":"CVE-2026-42311","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T06:16:10.43Z","modified":"2026-07-24T21:10:00.143Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","level":"high","assessor":"secondary"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-190","CWE-787"],"updated_at":"2026-11-02T14:12:18.239974Z"}],"osv":[{"id":"CVE-2026-42311","title":"Pillow: OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T04:11:58.092Z","modified":"2026-10-28T02:30:42.670951872Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-190","CWE-787"],"updated_at":"2026-11-02T15:45:04.117819Z"},{"id":"DEBIAN-CVE-2026-42311","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T06:16:10.43Z","modified":"2026-10-01T03:03:04.674613061Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:54.892385Z"},{"id":"GHSA-pwv6-vv43-88gr","title":"Pillow has an OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"### Impact\nProcessing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution.\n\n### Patches\nPatched version: 12.2.0\n\nPillow 12.1.1 addressed CVE-2026-25990 by adding checks for tile extents in PSD image decoding/encoding to prevent an out-of-bounds write. However, the bounds checks computed tile extent sums using types susceptible to integer overflow, meaning a PSD image with carefully chosen tile dimensions could produce values that wrap around and bypass the checks, still triggering an out-of-bounds write in src/decode.c and src/encode.c. The fix avoids adding extents together before comparison.\n\n### Workarounds\nUse any version but affected versions: \u003e= 10.3.0, \u003c 12.2.0\n\n### Resources\n - Fix: https://github.com/python-pillow/Pillow/pull/9520 \n - Original issue: CVE-2026-25990 (Pillow 12.1.1)","status":"published","published":"2026-05-04T20:20:31Z","modified":"2026-09-10T03:50:47.242104143Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-190","CWE-787"],"updated_at":"2026-11-02T15:46:53.700556Z"},{"id":"OESA-2026-2428","title":"python-pillow security update","description":"Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \\ Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.    of CVE-2022-22815,CVE-2022-22816)\r\n\r\nSecurity Fix(es):\n\nPillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.(CVE-2026-42311)","status":"published","published":"2026-05-22T11:11:23Z","modified":"2026-08-18T01:20:00.058268383Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"OESA-2026-2429","title":"python-pillow security update","description":"Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \\ Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.    of CVE-2022-22815,CVE-2022-22816)\r\n\r\nSecurity Fix(es):\n\nPillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.(CVE-2026-42311)","status":"published","published":"2026-05-22T11:11:23Z","modified":"2026-08-18T01:19:59.839262353Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"OESA-2026-2515","title":"python-pillow security update","description":"Pillow is the friendly PIL fork by Alex Clark and Contributors. PIL is the Python Imaging \\ Library by Fredrik Lundh and Contributors. As of 2019, Pillow development is supported by Tidelift.    of CVE-2022-22815,CVE-2022-22816)\r\n\r\nSecurity Fix(es):\n\nPillow is a Python imaging library. Prior to version 12.2.0, if a font advances for each glyph by an exceeding large amount, when Pillow keeps track of the current position, it may lead to an integer overflow. This issue has been patched in version 12.2.0.(CVE-2026-42308)\n\nPillow is a Python imaging library. From version 4.2.0 to before version 12.2.0, an attacker can supply a malicious PDF that causes the process to hang indefinitely, consuming 100% CPU and making the application unresponsive. This issue has been patched in version 12.2.0.(CVE-2026-42310)\n\nPillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.(CVE-2026-42311)","status":"published","published":"2026-05-29T11:11:28Z","modified":"2026-08-18T01:20:01.759183043Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:46.449097Z"},{"id":"PYSEC-2026-2252","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T06:16:10.43Z","modified":"2026-07-13T07:26:52.198871129Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:52:55.537808Z"},{"id":"ROOT-APP-PYPI-CVE-2026-42311","title":"CVE-2026-42311 in pillow - Patched by Root","description":"Root has patched CVE-2026-42311 in the pillow package for Root:PyPI. Multiple fixed versions available.","status":"published","published":"2026-11-06T10:13:42Z","modified":"2026-11-06T11:15:06.387821033Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-06T11:42:45.055937Z"},{"id":"UBUNTU-CVE-2026-42311","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-09T06:16:00Z","modified":"2026-06-08T18:55:48.959077454Z","cvss":[{"version":"4.0","score":8.6,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"},{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T16:56:18.393417Z"},{"id":"BIT-pillow-2026-42311","title":"Pillow: OOB Write with Invalid PSD Tile Extents (Integer Overflow)","description":"Pillow is a Python imaging library. From version 10.3.0 to before version 12.2.0, processing a malicious PSD file could lead to memory corruption, potentially resulting in a crash or arbitrary code execution. This issue has been patched in version 12.2.0.","status":"published","published":"2026-05-12T08:54:05.96Z","modified":"2026-09-08T08:48:18.4918416Z","updated_at":"2026-11-02T15:28:34.724063Z"},{"id":"CLSA-2026-1787244054","title":"TuxCare security update for pillow (1 CVE)","description":"TuxCare rebuilt pillow to address 1 CVE. Fixed in 11.3.0.post4+tuxcare.","status":"published","published":"2026-08-20T16:40:54Z","modified":"2026-10-15T09:48:05.580626956Z","updated_at":"2026-11-02T15:43:47.20725Z"},{"id":"CLSA-2026-1790154692","title":"TuxCare security update for pillow (1 CVE)","description":"TuxCare rebuilt pillow to address 1 CVE. Fixed in 11.2.1.post7+tuxcare.","status":"published","published":"2026-09-23T09:11:32Z","modified":"2026-10-15T09:48:02.043596298Z","updated_at":"2026-11-02T15:43:48.28229Z"},{"id":"CLSA-2026-1790239705","title":"TuxCare security update for pillow (1 CVE)","description":"TuxCare rebuilt pillow to address 1 CVE. Fixed in 10.4.0.post8+tuxcare.","status":"published","published":"2026-09-24T08:48:25Z","modified":"2026-10-15T09:48:02.080070022Z","updated_at":"2026-11-02T15:43:48.28229Z"},{"id":"openSUSE-SU-2026:11261-1","title":"python313-Pillow-12.3.0-1.1 on GA media","description":"These are all security issues fixed in the python313-Pillow-12.3.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-07-12T00:00:00Z","modified":"2026-07-13T09:00:11.048299149Z","updated_at":"2026-11-02T16:58:38.95195Z"},{"id":"openSUSE-SU-2026:21296-1","title":"Security update for python-Pillow","description":"This update for python-Pillow fixes the following issues\n\n- CVE-2026-42311: malicious PSD file processing can lead to arbitrary code execution (bsc#1270404).\n- CVE-2026-54059: crafted PCF font data can cause excessive memory allocation (bsc#1270409).\n- CVE-2026-54060: fonts can trigger excessive memory allocation during conversion or saving (bsc#1270410).\n- CVE-2026-55379: bypass of decompression bomb protection allows excessive memory allocation (bsc#1270411).\n- CVE-2026-55380: crafted `.gd` file can trigger excessive C-heap allocation when loaded (bsc#1270412).\n","status":"published","published":"2026-07-10T09:38:55Z","modified":"2026-07-13T18:24:58.497986827Z","updated_at":"2026-11-02T16:58:41.885092Z"},{"id":"SUSE-SU-2026:22626-1","title":"Security update for python-Pillow","description":"This update for python-Pillow fixes the following issues\n\n- CVE-2026-42311: malicious PSD file processing can lead to arbitrary code execution (bsc#1270404).\n- CVE-2026-54059: crafted PCF font data can cause excessive memory allocation (bsc#1270409).\n- CVE-2026-54060: fonts can trigger excessive memory allocation during conversion or saving (bsc#1270410).\n- CVE-2026-55379: bypass of decompression bomb protection allows excessive memory allocation (bsc#1270411).\n- CVE-2026-55380: crafted `.gd` file can trigger excessive C-heap allocation when loaded (bsc#1270412).\n","status":"published","published":"2026-07-10T09:37:56Z","modified":"2026-07-17T18:24:03.793795287Z","updated_at":"2026-11-02T15:54:03.080707Z"},{"id":"USN-8399-1","title":"pillow vulnerabilities","description":"It was discovered that Pillow incorrectly handled large glyph advance\nvalues in fonts. An attacker could possibly use this issue to cause Pillow\nto crash, resulting in a denial of service. (CVE-2026-42308)\n\nIt was discovered that Pillow incorrectly handled nested coordinate lists\nin certain APIs. An attacker could possibly use this issue to cause Pillow\nto crash, resulting in a denial of service. This issue only affected Ubuntu\n25.10 and Ubuntu 26.04 LTS. (CVE-2026-42309)\n\nIt was discovered that Pillow incorrectly handled certain malformed PDF\nfiles. An attacker could possibly use this issue to cause Pillow to use\nexcessive resources, leading to a denial of service. (CVE-2026-42310)\n\nIt was discovered that Pillow incorrectly handled certain malformed PSD\nfiles. An attacker could possibly use this issue to cause Pillow to crash,\nresulting in a denial of service, or to execute arbitrary code. This issue\nonly affected Ubuntu 25.10 and Ubuntu 26.04 LTS. (CVE-2026-42311)","status":"published","published":"2026-06-08T12:43:16Z","modified":"2026-06-08T19:04:20.882395402Z","updated_at":"2026-11-02T16:58:25.103481Z"}]}}
