## Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0

- 種別: advisory
- 重大度: high
- 関連技術: python
- CVE: CVE-2026-112405
- 公開日時: 2026-10-21T20:30:25.000Z
- 情報源: GitHub Advisory Database (https://github.com/advisories/GHSA-cp9v-662q-vvx9)
- パーマリンク: https://vulnpulse.app/items/ghsa-ghsa-cp9v-662q-vvx9

影響: pip:pillow >= 12.0.0, < 13.0.0 → 13.0.0
Summary Image.merge() checks the mode of every input band except band 0. If band 0 is a single-band I or F image, the native merge routine reads a pixel pointer that is NULL for those modes and the process crashes. The IPTC plugin reaches this from a plain Image.open() followed by a load, and IPTC has no magic-byte prefilter, so a crafted file with no recognizable header can drive it. Details The validation loop skips band 0: - src/PIL/Image.py:3795 iterates for band in bands[1:] and checks mod…