{
  "schemaVersion": 1,
  "incident": {
    "id": "cve-2026-112403",
    "url": "https://cveboard.org/i/cve-2026-112403",
    "urlPt": "https://cveboard.org/pt/i/cve-2026-112403",
    "json": "https://cveboard.org/i/cve-2026-112403.json",
    "kind": "vuln",
    "live": true,
    "knownExploited": false,
    "severity": "critical",
    "title": "Pillow: Heap buffer overflow in ImagingJpegDecode",
    "summary": "JpegImageFile.draft() — which Image.thumbnail() calls automatically — requests 1/2, 1/4 or 1/8 scaled JPEG output and shrinks self._size and the tile extents to match, so _setimage() allocates a single-row decode buffer of ceil(W/s) samples. ImagingJpegDecode() sets cinfo.scale_num/scale_denom, calls jpeg_start_decompress(), and then reads scanlines into that buffer without ever comparing cinfo.",
    "titlePt": "Pillow: transbordamento de buffer na heap em ImagingJpegDecode",
    "summaryPt": "JpegImageFile.draft() — que Image.thumbnail() chama automaticamente — solicita saída JPEG escalonada em 1/2, 1/4 ou 1/8 e reduz self._size e os limites do tile para corresponder, então _setimage() aloca um buffer de decodificação de linha única de ceil(W/s) amostras. ImagingJpegDecode() define cinfo.scale_num/scale_denom, chama jpeg_start_decompress(), e depois lê linhas de varredura para esse buffer sem nunca comparar cinfo.",
    "cves": [
      "CVE-2026-112403"
    ],
    "ghsa": "GHSA-8g5g-8vmr-9782",
    "cvss": {
      "score": 9.2,
      "version": "4.0"
    },
    "epss": {
      "percentage": 0.00321,
      "percentile": 0.23691,
      "asOf": "2026-10-23"
    },
    "packages": [
      {
        "ecosystem": "pip",
        "name": "Pillow",
        "vulnerable": "<= 12.3.0",
        "fixed": "13.0.0",
        "advisory": "GHSA-8g5g-8vmr-9782"
      }
    ],
    "vendor": null,
    "product": null,
    "kev": null,
    "breach": null,
    "retracted": false,
    "sources": [
      {
        "label": "GitHub Advisory Database",
        "url": "https://github.com/advisories/GHSA-8g5g-8vmr-9782"
      }
    ],
    "publishedAt": "2026-10-20T20:40:07.000Z",
    "updatedAt": "2026-10-20T20:40:07.000Z"
  },
  "live": true,
  "events": [
    {
      "id": "ghsa:GHSA-8g5g-8vmr-9782:ghsa_published:2026-10-20T20:40:07.000Z",
      "incidentId": "cve-2026-112403",
      "type": "ghsa_published",
      "at": "2026-10-20T20:40:07.000Z",
      "detail": {
        "ghsa": "GHSA-8g5g-8vmr-9782",
        "severity": "critical",
        "fixed": "13.0.0"
      }
    }
  ]
}