<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-01T11:33:13.703202+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/bit-pillow-2026-59199</id>
    <title>BIT-pillow-2026-59199 — Pillow: Heap out-of-bounds write `Image.paste()` / `Image.crop()` via signed coordinate overflow</title>
    <updated>2026-10-01T11:33:13.735093+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Bitnami: pillow</p>
<p>Pillow is a Python imaging library. Prior to 12.3.0, Pillow public image coordinate APIs can trigger a native heap out-of-bounds write when given coordinates near the signed 32-bit integer limits in Image.paste(), Image.crop(), or Image.alpha_composite(). This issue is fixed in version 12.3.0.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/bit-pillow-2026-59199"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/cve-2026-59199</id>
    <title>CVE-2026-59199 — Pillow: Heap out-of-bounds write `Image.paste()` / `Image.crop()` via signed coordinate overflow</title>
    <updated>2026-10-01T11:33:13.735176+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> python-pillow Pillow</p>
<p>Pillow is a Python imaging library. Prior to 12.3.0, Pillow public image coordinate APIs can trigger a native heap out-of-bounds write when given coordinates near the signed 32-bit integer limits in Image.paste(), Image.crop(), or Image.alpha_composite(). This issue is fixed in version 12.3.0.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-59199"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-6r8x-57c9-28j4</id>
    <title>GHSA-6r8x-57c9-28j4 — Pillow: Heap out-of-bounds write `Image.paste()` / `Image.crop()` via signed coordinate overflow</title>
    <updated>2026-10-01T11:33:13.735220+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: Pillow</p>
<p>### Summary</p>
<p>Pillow's public image coordinate APIs can trigger a native heap out-of-bounds
write when given coordinates near the signed 32-bit integer limits. In 4-byte
pixel modes such as `RGBA`, this becomes a controlled backward heap underwrite:
for a source image of width `W`, Pillow writes `4 * W` attacker-controlled bytes
starting `4 * W` bytes before the destination row pointer. With successful large
image allocation, the theoretical upper bound is ~2 GiB backwards from
the destination row.</p>
<p>Minimal public API trigger:</p>
<p>```python
from PIL import Image</p>
<p>INT_MIN = -(1 &lt;&lt; 31)</p>
<p>src = Image.new("RGBA", (2, 1), (0x41, 0x42, 0x43, 0x44))
dst = Image.new("RGBA", (8, 1))
dst.paste(src, ((1 &lt;&lt; 31) - 2, 0, INT_MIN, 1))
```</p>
<p>The same root cause is also reachable through `Image.crop()` and
`Image.alpha_composite()`. No private API, ctypes, custom Python object, or
malformed image file is needed.</p>
<p>This has been confirmed as an ASAN heap-buffer-overflow write. On normal
non-ASAN Pillow builds, the minimal trigger corrupts the heap and aborts with
`double free or corruption (out)`</p>
<p>### Details</p>
<p>`src/PIL/Image.py:paste()` accepts a 4-tuple box and passes it to the native
`ImagingCore.paste()` method:</p>
<p>```python
self.im.paste(source, box)
```</p>
<p>`src/_imaging.c:_paste()` parses the four Python coordinates into signed `int`
values and calls `ImagingPaste()`:</p>
<p>```c
int x0, y0, x1, y1;
PyArg_ParseTuple(args, "O(iiii)|O!", &amp;source, &amp;x0, &amp;y0, &amp;x1, &amp;y1, ...);
status = ImagingPaste(self-&gt;image,…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-6r8x-57c9-28j4"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/pysec-2026-3451</id>
    <title>PYSEC-2026-3451</title>
    <updated>2026-10-01T11:33:13.735322+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: pillow</p>
<p>Pillow is a Python imaging library. Prior to 12.3.0, Pillow public image coordinate APIs can trigger a native heap out-of-bounds write when given coordinates near the signed 32-bit integer limits in Image.paste(), Image.crop(), or Image.alpha_composite(). This issue is fixed in version 12.3.0.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/pysec-2026-3451"/>
  </entry>
</feed>
