{"id":"CVE-2025-48379","aliases":["ALPINE-CVE-2025-48379","BIT-pillow-2025-48379","CLSA-2026-1772410259","EUVD-2025-19662","GHSA-xg8h-j46f-w952","PYSEC-2025-61","ROOT-APP-PYPI-CVE-2025-48379","openSUSE-SU-2025:15316-1"],"status":"published","title":"Pillow Vulnerable to Write Buffer Overflow on BCn encoding","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","severity":{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-11","score":0.00327,"percentile":0.26113,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-122"],"published":"2025-07-01T17:29:37Z","modified":"2026-11-06T00:30:02Z","fixes":[{"ecosystem":"PyPI","package":"pillow","fixed_in":["11.3.0"],"sources":["ghsa","osv"]},{"ecosystem":"Alpine:v3.23","package":"py3-pillow","fixed_in":["11.3.0-r0"],"sources":["osv"]},{"ecosystem":"Alpine:v3.24","package":"py3-pillow","fixed_in":["11.3.0-r0"],"sources":["osv"]},{"ecosystem":"TuxCare:PyPI","package":"pillow","fixed_in":["11.2.1.post1+tuxcare"],"sources":["osv"]},{"ecosystem":"Root:PyPI","package":"pillow","fixed_in":["11.2.1+aikido.2","11.2.1+aikido.3","11.2.1+aikido.4","11.2.1+aikido.5","11.2.1+aikido.6","11.2.1+aikido.7","11.2.1+aikido.8","11.2.1+aikido.9"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"python-Pillow","fixed_in":["11.3.0-1.1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"11.2.0"},{"fixed":"11.3.0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.23","package":"py3-pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-r0"}]}]},{"source":"osv","ecosystem":"Alpine:v3.24","package":"py3-pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-r0"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"pillow","ranges":[{"type":"SEMVER","events":[{"introduced":"11.2.0"}]}]},{"source":"osv","ecosystem":"TuxCare:PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"11.2.1"},{"fixed":"11.2.1.post1+tuxcare"}]}],"versions":["11.2.1"]},{"source":"osv","ecosystem":"PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"11.2.0"},{"fixed":"11.3.0"}]}],"versions":["11.2.1"]},{"source":"osv","ecosystem":"PyPI","package":"pillow","ranges":[{"type":"GIT","events":[{"introduced":"0"},{"fixed":"89f1f4626a2aaf5f3d5ca6437f41def2998fbe09"},{"fixed":"ef98b3510e3e4f14b547762764813d7e5ca3c5a4"}]},{"type":"ECOSYSTEM","events":[{"introduced":"11.2.0"},{"fixed":"11.3.0"}]}],"versions":["11.2.0","11.2.1"]},{"source":"osv","ecosystem":"Root:PyPI","package":"pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.2.1+aikido.2"},{"fixed":"11.2.1+aikido.3"},{"fixed":"11.2.1+aikido.4"},{"fixed":"11.2.1+aikido.5"},{"fixed":"11.2.1+aikido.6"},{"fixed":"11.2.1+aikido.7"},{"fixed":"11.2.1+aikido.8"},{"fixed":"11.2.1+aikido.9"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"python-Pillow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"11.3.0-1.1"}]}]}],"products":[{"vendor":"python","product":"pillow"},{"vendor":"python-pillow","product":"pillow"}],"references":[{"url":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-xg8h-j46f-w952","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/python-pillow/Pillow/pull/9041","tags":["x_refsource_MISC","Exploit","Issue Tracking","evidence","fix","web"]},{"url":"https://github.com/python-pillow/Pillow/commit/ef98b3510e3e4f14b547762764813d7e5ca3c5a4","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/python-pillow/Pillow/releases/tag/11.3.0","tags":["x_refsource_MISC","Release Notes","article","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-48379","tags":["web","advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2025-61.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-xg8h-j46f-w952"},{"url":"https://security.alpinelinux.org/vuln/CVE-2025-48379","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/48xxx/CVE-2025-48379.json","tags":["advisory"]},{"url":"https://github.com/python-pillow/Pillow","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2025-48379","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2025-48379","title":"Pillow Vulnerable to Write Buffer Overflow on BCn encoding","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-01T18:33:30.687Z","modified":"2025-07-01T19:42:22.348Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high","assessor":"cna"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T14:32:41.41198Z"}],"euvd":[{"id":"EUVD-2025-19662","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-01T18:33:30Z","modified":"2025-07-01T19:42:22Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T20:32:14.813568Z"}],"ghsa":[{"id":"GHSA-xg8h-j46f-w952","title":"Pillow vulnerability can cause write buffer overflow on BCn encoding","description":"There is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. \n\nThis only affects users who save untrusted data as a compressed DDS image. \n\n* Unclear how large the potential write could be. It is likely limited by process segfault, so it's not necessarily deterministic. It may be practically unbounded. \n* Unclear if there's a restriction on the bytes that could be emitted. It's likely that the only restriction is that the bytes would be emitted in chunks of 8 or 16. \n\nThis was introduced in Pillow 11.2.0 when the feature was added.","status":"published","published":"2025-07-01T17:29:37Z","modified":"2025-07-02T14:20:25Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T14:38:48.783737Z"}],"nvd":[{"id":"CVE-2025-48379","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-01T19:15:27.353Z","modified":"2026-06-17T09:29:34.693Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high","assessor":"secondary"},{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T14:11:15.754475Z"}],"osv":[{"id":"ALPINE-CVE-2025-48379","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-01T19:15:27.353Z","modified":"2026-11-06T00:30:02.961823692Z","cvss":[{"version":"3.1","score":5.5,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N","level":"medium"}],"updated_at":"2026-11-06T01:02:32.613973Z"},{"id":"CVE-2025-48379","title":"Pillow Vulnerable to Write Buffer Overflow on BCn encoding","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-01T18:33:30.687Z","modified":"2026-11-11T13:20:58.566054572Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-11T03:22:10.237529Z"},{"id":"GHSA-xg8h-j46f-w952","title":"Pillow vulnerability can cause write buffer overflow on BCn encoding","description":"There is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. \n\nThis only affects users who save untrusted data as a compressed DDS image. \n\n* Unclear how large the potential write could be. It is likely limited by process segfault, so it's not necessarily deterministic. It may be practically unbounded. \n* Unclear if there's a restriction on the bytes that could be emitted. It's likely that the only restriction is that the bytes would be emitted in chunks of 8 or 16. \n\nThis was introduced in Pillow 11.2.0 when the feature was added.","status":"published","published":"2025-07-01T17:29:37Z","modified":"2026-09-10T03:50:26.431657121Z","cvss":[{"version":"3.1","score":7.1,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H","level":"high"}],"cwes":["CWE-122"],"updated_at":"2026-11-02T15:46:59.835583Z"},{"id":"BIT-pillow-2025-48379","title":"Pillow Vulnerable to Write Buffer Overflow on BCn encoding","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-03T05:57:27.923Z","modified":"2026-09-10T16:01:45.817838836Z","updated_at":"2026-11-02T15:28:34.724063Z"},{"id":"CLSA-2026-1772410259","title":"TuxCare security update for pillow (1 CVE)","description":"TuxCare rebuilt pillow to address 1 CVE. Fixed in 11.2.1.post1+tuxcare.","status":"published","published":"2026-08-04T14:52:08Z","modified":"2026-10-15T09:47:58.843765547Z","updated_at":"2026-11-02T15:43:43.249928Z"},{"id":"openSUSE-SU-2025:15316-1","title":"python311-Pillow-11.3.0-1.1 on GA media","description":"These are all security issues fixed in the python311-Pillow-11.3.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2025-07-06T00:00:00Z","modified":"2026-03-23T04:53:38.179276Z","updated_at":"2026-11-02T16:58:37.810934Z"},{"id":"PYSEC-2025-61","description":"Pillow is a Python imaging library. In versions 11.2.0 to before 11.3.0, there is a heap buffer overflow when writing a sufficiently large (\u003e64k encoded with default settings) image in the DDS format due to writing into a buffer without checking for available space. This only affects users who save untrusted data as a compressed DDS image. This issue has been patched in version 11.3.0.","status":"published","published":"2025-07-01T19:15:27Z","modified":"2025-07-07T14:12:46.22603Z","updated_at":"2026-11-02T15:52:54.242332Z"},{"id":"ROOT-APP-PYPI-CVE-2025-48379","title":"CVE-2025-48379 in pillow - Patched by Root","description":"Root has patched CVE-2025-48379 in the pillow package for Root:PyPI. Multiple fixed versions available.","status":"published","published":"2026-10-26T11:11:36Z","modified":"2026-10-26T12:15:03.114653914Z","updated_at":"2026-11-02T15:53:27.940619Z"}]}}
