Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Suggestions search

With package: libpng12

Found 5 matching suggestions

View:
Compact
Detailed
Untriaged
Permalink CVE-2026-34757
5.1 MEDIUM
  • CVSS version: 3.1
  • Attack vector (AV): LOCAL
  • Attack complexity (AC): LOW
  • Privileges required (PR): NONE
  • User interaction (UI): NONE
  • Scope (S): UNCHANGED
  • Confidentiality impact (C): LOW
  • Integrity impact (I): LOW
  • Availability impact (A): NONE
created 5 days, 16 hours ago
LIBPNG has a yse-after-free in png_set_PLTE, png_set_tRNS and png_set_hIST leading to corrupted chunk data and potential heap information disclosure

LIBPNG is a reference library for use in applications that read, create, and manipulate PNG (Portable Network Graphics) raster image files. From 1.0.9 to before 1.6.57, passing a pointer obtained from png_get_PLTE, png_get_tRNS, or png_get_hIST back into the corresponding setter on the same png_struct/png_info pair causes the setter to read from freed memory and copy its contents into the replacement buffer. The setter frees the internal buffer before copying from the caller-supplied pointer, which now dangles. The freed region may contain stale data (producing silently corrupted chunk metadata) or data from subsequent heap allocations (leaking unrelated heap contents into the chunk struct). This vulnerability is fixed in 1.6.57.

Affected products

libpng
  • ==>= 1.0.9, < 1.6.57

Matching in nixpkgs

pkgs.libpng

Official reference implementation for the PNG file format with animation patch

Package maintainers

Untriaged
Permalink CVE-2026-33416
7.5 HIGH
  • CVSS version: 3.1
  • Attack vector (AV): NETWORK
  • Attack complexity (AC): HIGH
  • Privileges required (PR): NONE
  • User interaction (UI): REQUIRED
  • Scope (S): UNCHANGED
  • Confidentiality impact (C): HIGH
  • Integrity impact (I): HIGH
  • Availability impact (A): HIGH
created 2 weeks, 5 days ago
LIBPNG has use-after-free via pointer aliasing in `png_set_tRNS` and `png_set_PLTE`

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->trans_alpha = info_ptr->trans_alpha` (256-byte buffer) and `png_set_PLTE` sets `info_ptr->palette = png_ptr->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.

Affected products

libpng
  • ==>= 1.2.1, < 1.6.56

Matching in nixpkgs

pkgs.libpng

Official reference implementation for the PNG file format with animation patch

Package maintainers

Untriaged
Permalink CVE-2026-33636
7.6 HIGH
  • CVSS version: 3.1
  • Attack vector (AV): NETWORK
  • Attack complexity (AC): LOW
  • Privileges required (PR): NONE
  • User interaction (UI): REQUIRED
  • Scope (S): UNCHANGED
  • Confidentiality impact (C): LOW
  • Integrity impact (I): LOW
  • Availability impact (A): HIGH
created 2 weeks, 5 days ago
LIBPNG has ARM NEON Palette Expansion Out-of-Bounds Read on AArch64

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.

Affected products

libpng
  • ==>= 1.6.36, < 1.6.56

Matching in nixpkgs

pkgs.libpng

Official reference implementation for the PNG file format with animation patch

Package maintainers

Untriaged
Permalink CVE-2026-3713
5.3 MEDIUM
  • CVSS version: 3.1
  • Attack vector (AV):
  • Attack complexity (AC):
  • Privileges required (PR):
  • User interaction (UI):
  • Scope (S):
  • Confidentiality impact (C):
  • Integrity impact (I):
  • Availability impact (A):
created 1 month ago
pnggroup libpng pnm2png pnm2png.c do_pnm2png heap-based overflow

A flaw has been found in pnggroup libpng up to 1.6.55. Affected by this vulnerability is the function do_pnm2png of the file contrib/pngminus/pnm2png.c of the component pnm2png. This manipulation of the argument width/height causes heap-based buffer overflow. The attack is restricted to local execution. The exploit has been published and may be used. The project was informed of the problem early through an issue report but has not responded yet.

Affected products

libpng
  • ==1.6.18
  • ==1.6.1
  • ==1.6.22
  • ==1.6.16
  • ==1.6.5
  • ==1.6.30
  • ==1.6.21
  • ==1.6.27
  • ==1.6.35
  • ==1.6.43
  • ==1.6.38
  • ==1.6.39
  • ==1.6.51
  • ==1.6.14
  • ==1.6.48
  • ==1.6.7
  • ==1.6.13
  • ==1.6.52
  • ==1.6.54
  • ==1.6.50
  • ==1.6.40
  • ==1.6.55
  • ==1.6.9
  • ==1.6.46
  • ==1.6.10
  • ==1.6.53
  • ==1.6.4
  • ==1.6.12
  • ==1.6.34
  • ==1.6.3
  • ==1.6.20
  • ==1.6.31
  • ==1.6.45
  • ==1.6.26
  • ==1.6.33
  • ==1.6.11
  • ==1.6.49
  • ==1.6.19
  • ==1.6.47
  • ==1.6.23
  • ==1.6.6
  • ==1.6.29
  • ==1.6.32
  • ==1.6.36
  • ==1.6.24
  • ==1.6.41
  • ==1.6.37
  • ==1.6.0
  • ==1.6.8
  • ==1.6.44
  • ==1.6.42
  • ==1.6.17
  • ==1.6.25
  • ==1.6.15
  • ==1.6.28
  • ==1.6.2

Matching in nixpkgs

pkgs.libpng

Official reference implementation for the PNG file format with animation patch

Package maintainers

Untriaged
created 2 months ago
LIBPNG has a heap buffer overflow in png_set_quantize

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.55, an out-of-bounds read vulnerability exists in the png_set_quantize() API function. When the function is called with no histogram and the number of colors in the palette is more than twice the maximum supported by the user's display, certain palettes will cause the function to enter into an infinite loop that reads past the end of an internal heap-allocated buffer. The images that trigger this vulnerability are valid per the PNG specification. This vulnerability is fixed in 1.6.55.

Affected products

libpng
  • ==< 1.6.55

Matching in nixpkgs

pkgs.libpng

Official reference implementation for the PNG file format with animation patch

pkgs.libpng12

Official reference implementation for the PNG file format

Package maintainers