{"id":"ghsa-ghsa-cp9v-662q-vvx9","seq":56220,"kind":"advisory","title":"Pillow: NULL pointer dereference in Image.merge via an unvalidated band 0","url":"https://github.com/advisories/GHSA-cp9v-662q-vvx9","permalink":"https://vulnpulse.app/items/ghsa-ghsa-cp9v-662q-vvx9","summary":"影響: pip:pillow >= 12.0.0, < 13.0.0 → 13.0.0\nSummary 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…","severity":"high","techs":["python"],"cves":["CVE-2026-112405"],"tags":["GHSA-cp9v-662q-vvx9","pillow"],"source":{"id":"ghsa","name":"GitHub Advisory Database"},"published_at":"2026-10-21T20:30:25.000Z","fetched_at":"2026-10-21T20:36:51.553Z"}