High severity · published Dec 3, 2025
CVE-2025-66293
LIBPNG has an out-of-bounds read in png_image_read_composite
7.1
CVSS
0.4%
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 1.6.52, an out-of-bounds read vulnerability in libpng's simplified API allows reading up to 1012 bytes beyond the png_sRGB_base[512] array when processing valid palette PNG images with partial transparency and gamma correction. The PNG files that trigger this vulnerability are valid per the PNG specification; the bug is in libpng's internal state management. Upgrade to libpng 1.6.52 or later.
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
Low
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 29% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
libpng · pnggroup
< 1.6.52 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2025-66293
CVE.org
https://www.cve.org/CVERecord?id=CVE-2025-66293
Patch
https://github.com/pnggroup/libpng/commit/788a624d7387a758ffd5c7ab010f1870dea753a1
Patch
https://github.com/pnggroup/libpng/commit/a05a48b756de63e3234ea6b3b938b8f5f862484a
Exploit
https://github.com/pnggroup/libpng/issues/764
Exploit
https://github.com/pnggroup/libpng/security/advisories/GHSA-9mpm-9pxh-mg4f
Mailing List
http://www.openwall.com/lists/oss-security/2025/12/03/6
Mailing List
http://www.openwall.com/lists/oss-security/2025/12/03/7
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)
