Heap-based Buffer Overflow Affecting gftools package, versions <0.10.4-r1


Severity

Recommended
0.0
critical
0
10

Snyk's Security Team recommends NVD's CVSS assessment. Learn more

Threat Intelligence

EPSS
0.95% (61st percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-CHAINGUARDLATEST-GFTOOLS-21478975
  • published23 Oct 2026
  • disclosed19 Oct 2026

Introduced: 19 Oct 2026

NewCVE-2026-112403  (opens in a new tab)
CWE-122  (opens in a new tab)

How to fix?

Upgrade Chainguard gftools to version 0.10.4-r1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream gftools package and not the gftools package as distributed by Chainguard. See How to fix? for Chainguard relevant fixed versions and status.

Pillow is a Python imaging library. Prior to 13.0.0, Pillow's JPEG decoder can write a full-width scanline into a buffer sized for a requested draft scale. ImagingJpegDecode does not verify libjpeg's actual output width and component count after scaling is requested, and an 8-bit lossless SOF3 JPEG decoded by a build linked to libjpeg-turbo 3.x can ignore the requested downscaling geometry. An attacker can supply such a JPEG to an application that uses draft() or thumbnail() to request downscaling. This can corrupt heap memory, crash the process, or potentially allow code execution. Older libjpeg-turbo 2.x and IJG builds reject the SOF3 input. This issue is fixed in version 13.0.0.

CVSS Base Scores

version 3.1