Medium severity · published Nov 24, 2025
CVE-2025-64505
LIBPNG is vulnerable to a heap buffer overflow in `png_do_quantize` via malformed palette index
6.1
CVSS
0.2%
EPSS
No
On KEV
Description
LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. Prior to version 1.6.51, a heap buffer over-read vulnerability exists in libpng's png_do_quantize function when processing PNG files with malformed palette indices. The vulnerability occurs when palette_lookup array bounds are not validated against externally-supplied image data, allowing an attacker to craft a PNG file with out-of-range palette indices that trigger out-of-bounds memory access. This issue has been patched in version 1.6.51.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
Attack vector
Local
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
Low
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.2% · higher than 11% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
libpng · pnggroup
< 1.6.51 · source: vendor, NVD
Affected product
LI
libpng
pnggroup
More from libpng
8.1
CVE-2026-25646
LIBPNG has a heap buffer overflow in png_set_quantize
7.8
CVE-2026-22801
LIBPNG has an integer truncation causing heap buffer over-read in png_image_write_*
7.6
CVE-2026-33636
LIBPNG has ARM NEON Palette Expansion Out-of-Bounds Read on AArch64
7.5
CVE-2026-33416
LIBPNG has use-after-free via pointer aliasing in `png_set_tRNS` and `png_set_PLTE`
7.1
CVE-2026-22695
LIBPNG has a heap buffer over-read in png_image_read_direct_scaled (regression from CVE-2025-65018 fix)