Out-of-bounds Read Affecting libpng1.6 package, versions <1.6.37-3ubuntu0.5


Severity

Recommended
medium

Based on Ubuntu security rating.

Threat Intelligence

EPSS
0.36% (28th 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-UBUNTU2204-LIBPNG16-15877266
  • published7 May 2026
  • disclosed26 Mar 2026

Introduced: 26 Mar 2026

CVE-2026-33636  (opens in a new tab)
CWE-125  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade Ubuntu:22.04 libpng1.6 to version 1.6.37-3ubuntu0.5 or higher.

NVD Description

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

LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. In versions 1.6.36 through 1.6.55, an out-of-bounds read and write exists in libpng's ARM/AArch64 Neon-optimized palette expansion path. When expanding 8-bit paletted rows to RGB or RGBA, the Neon loop processes a final partial chunk without verifying that enough input pixels remain. Because the implementation works backward from the end of the row, the final iteration dereferences pointers before the start of the row buffer (OOB read) and writes expanded pixel data to the same underflowed positions (OOB write). This is reachable via normal decoding of attacker-controlled PNG input if Neon is enabled. Version 1.6.56 fixes the issue.

CVSS Base Scores

version 3.1