<?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://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-23T20:15:41.983177+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" 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://db.gcve.eu/vuln/brew-aider-cve-2026-112394</id>
    <title>BREW-aider-CVE-2026-112394 — Pillow: P;2L and P;4L decoders may read 1 to 3 bytes past the passed buffer size</title>
    <updated>2026-10-23T20:15:41.986261+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Homebrew: aider</p>
<p>### Summary</p>
<p>On `main`, even with the guard in #9725, it's possible to have these decoders read 1 to 3 bytes past the end of the passed buffer with a suitable width/height.</p>
<p>### Details</p>
<p>`ImagingRawDecode` and the `P;2L` / `P;4L` unpackers disagree about how many bytes a line of data occupies.</p>
<p>The raw decoder derives the line size from the bits per pixel</p>
<p>```c
state-&gt;bytes = (state-&gt;xsize * state-&gt;bits + 7) / 8;
```</p>
<p>and uses it both for the bounds check and to advance to the next line. For `P;2L` and `P;4L`, `bits` is 2 and 4 respectively.</p>
<p>But these two rawmodes are not packed pixels but 2 or 4 *bit planes*, each padded to a whole number of bytes. `unpackP2L` computes `s = (pixels + 7) / 8` and reads plane *k* at offset `k * s`, and `unpackP4L` does the same across four planes. Their real footprint is therefore `planes * ((xsize + 7) / 8)`.</p>
<p>For some widths, padding each plane separately makes this footprint larger than `state-&gt;bytes`. For example, at width 1, the decoder accounts for one byte, while the unpackers read two or four bytes. The decoder accepts data that is too short for the last line and on the other hand advances to subsequent lines by less than a line, so every line after the first is also read from the wrong offset.</p>
<p>#9725's check is misshapen for this:</p>
<p>* It can reject data of the right length: 8x1 `P;2L` image is 2 bytes but is not accepted.
* It still accepts buffers shorter than the unpackers require for a given image shape.
* It measures the length w…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/brew-aider-cve-2026-112394"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/fkie_cve-2026-112394</id>
    <title>fkie_cve-2026-112394</title>
    <updated>2026-10-23T20:15:41.986395+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Pillow is a Python imaging library. Prior to 13.0.0, Pillow's P;2L and P;4L raw decoders can read past the end of an input buffer. ImagingRawDecode calculates a packed-pixel row size, while the unpackers read separately padded bit planes. A caller can supply a buffer and image dimensions whose accepted size is smaller than the unpacker's actual footprint. This can disclose up to three adjacent heap bytes in output pixels or crash the process. This issue is fixed in version 13.0.0.</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/fkie_cve-2026-112394"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ghsa-4558-3h8r-v8xp</id>
    <title>GHSA-4558-3h8r-v8xp — Pillow: P;2L and P;4L decoders may read 1 to 3 bytes past the passed buffer size</title>
    <updated>2026-10-23T20:15:41.986433+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>On `main`, even with the guard in #9725, it's possible to have these decoders read 1 to 3 bytes past the end of the passed buffer with a suitable width/height.</p>
<p>### Details</p>
<p>`ImagingRawDecode` and the `P;2L` / `P;4L` unpackers disagree about how many bytes a line of data occupies.</p>
<p>The raw decoder derives the line size from the bits per pixel</p>
<p>```c
state-&gt;bytes = (state-&gt;xsize * state-&gt;bits + 7) / 8;
```</p>
<p>and uses it both for the bounds check and to advance to the next line. For `P;2L` and `P;4L`, `bits` is 2 and 4 respectively.</p>
<p>But these two rawmodes are not packed pixels but 2 or 4 *bit planes*, each padded to a whole number of bytes. `unpackP2L` computes `s = (pixels + 7) / 8` and reads plane *k* at offset `k * s`, and `unpackP4L` does the same across four planes. Their real footprint is therefore `planes * ((xsize + 7) / 8)`.</p>
<p>For some widths, padding each plane separately makes this footprint larger than `state-&gt;bytes`. For example, at width 1, the decoder accounts for one byte, while the unpackers read two or four bytes. The decoder accepts data that is too short for the last line and on the other hand advances to subsequent lines by less than a line, so every line after the first is also read from the wrong offset.</p>
<p>#9725's check is misshapen for this:</p>
<p>* It can reject data of the right length: 8x1 `P;2L` image is 2 bytes but is not accepted.
* It still accepts buffers shorter than the unpackers require for a given image shape.
* It measures the length w…</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ghsa-4558-3h8r-v8xp"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/opensuse-su-2026:12230-1</id>
    <title>openSUSE-SU-2026:12230-1 — python313-Pillow-13.0.0-1.1 on GA media</title>
    <updated>2026-10-23T20:15:41.986508+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>python313-Pillow-13.0.0-1.1 on GA media</p>
      </div>
    </content>
    <link href="https://db.gcve.eu/vuln/opensuse-su-2026:12230-1"/>
  </entry>
  <entry>
    <id>https://db.gcve.eu/vuln/ubuntu-cve-2026-112394</id>
    <title>UBUNTU-CVE-2026-112394</title>
    <updated>2026-10-23T20:15:41.986532+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Ubuntu:Pro:14.04:LTS: pillow, Ubuntu:Pro:16.04:LTS: pillow, Ubuntu:Pro:18.04:LTS: pillow, Ubuntu:Pro:20.04:LTS: pillow, Ubuntu:Pro:20.04:LTS: pillow-python2, Ubuntu:22.04:LTS: pillow, Ubuntu:24.04:LTS: pillow, Ubuntu:26.10: pillow, Ubuntu:26.04:LTS: pillow</p>
<p>(Pillow is a Python imaging library. Prior to 13.0.0, Pillow&amp;#x27;s P;2L and ...)</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/ubuntu-cve-2026-112394"/>
  </entry>
</feed>
