Tetrak
GitHub ↗
Security · Pillow

Saving a large DDS image overruns a heap buffer in Pillow's BCn encoder

Pillow vulnerability can cause write buffer overflow on BCn encoding

Advisory
CVE-2025-48379
Library
Pillow, pillow on PyPI
Published
Severity
7.1 out of 10, as published
Affected
< 11.3.0
Fixed in
11.3.0
Reaches you
on a save path

What triggers it

Image.save(..., format="DDS") of an image larger than about 64 KB encoded, with default settings.

What sillybos does

Not reached by opening a file

Opening or reading a file never reaches this flaw, so a check before decoding has nothing to refuse. Listed so that nobody expects it to.

On the DDS save path only; Image.open never runs the BCn encoder.

Proposed from the advisory's text on 2026-11-01, as part of folding the backfill into the record; confirmed by a person on 2026-11-03.

How to protect yourself

In general. Upgrade to Pillow 11.3.0.

Specifically. Not a pre-decode matter: the flaw is on a save path.

The general advice applies to every row here.

Sources