Use After Free Affecting libpng16-16 package, versions <1.6.34-150000.3.22.1


Severity

Recommended
0.0
high
0
10

Based on SUSE Linux Enterprise Server security rating.

Threat Intelligence

Social Trends
EPSS
1.05% (60th 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-SLES154-LIBPNG1616-16082159
  • published16 Apr 2026
  • disclosed14 Apr 2026

Introduced: 14 Apr 2026

CVE-2026-33416  (opens in a new tab)
CWE-416  (opens in a new tab)

How to fix?

Upgrade SLES:15.4 libpng16-16 to version 1.6.34-150000.3.22.1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream libpng16-16 package and not the libpng16-16 package as distributed by SLES. See How to fix? for SLES:15.4 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.2.1 through 1.6.55, png_set_tRNS and png_set_PLTE each alias a heap-allocated buffer between png_struct and png_info, sharing a single allocation across two structs with independent lifetimes. The trans_alpha aliasing has been present since at least libpng 1.0, and the palette aliasing since at least 1.2.1. Both affect all prior release lines png_set_tRNS sets png_ptr-&gt;trans_alpha = info_ptr-&gt;trans_alpha (256-byte buffer) and png_set_PLTE sets info_ptr-&gt;palette = png_ptr-&gt;palette (768-byte buffer). In both cases, calling png_free_data (with PNG_FREE_TRNS or PNG_FREE_PLTE) frees the buffer through info_ptr while the corresponding png_ptr pointer remains dangling. Subsequent row-transform functions dereference and, in some code paths, write to the freed memory. A second call to png_set_tRNS or png_set_PLTE has the same effect, because both functions call png_free_data internally before reallocating the info_ptr buffer. Version 1.6.56 fixes the issue.

CVSS Base Scores

version 3.1