High severity · published Jan 12, 2026
CVE-2026-22801
LIBPNG has an integer truncation causing heap buffer over-read in png_image_write_*
7.8
CVSS
0.1%
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. From 1.6.26 to 1.6.53, there is an integer truncation in the libpng simplified write API functions png_write_image_16bit and png_write_image_8bit causes heap buffer over-read when the caller provides a negative row stride (for bottom-up image layouts) or a stride exceeding 65535 bytes. The bug was introduced in libpng 1.6.26 (October 2016) by casts added to silence compiler warnings on 16-bit systems. This vulnerability is fixed in 1.6.54.
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack vector
Local
Complexity
Low
Privileges
Low
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.1% · higher than 3% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
libpng · pnggroup
< 1.6.54 · 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.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)
7.1
CVE-2025-66293
LIBPNG has an out-of-bounds read in png_image_read_composite