libpng: Execution of arbitrary code — GLSA 200804-15

A vulnerability in libpng may allow for execution of arbitrary code in certain applications that handle untrusted images.

Affected packages

media-libs/libpng on all architectures
Affected versions < 1.2.26-r1
Unaffected versions >= 1.2.26-r1

Background

libpng is a free ANSI C library used to process and manipulate PNG images.

Description

Tavis Ormandy of the Google Security Team discovered that libpng does not handle zero-length unknown chunks in PNG files correctly, which might lead to memory corruption in applications that call png_set_read_user_chunk_fn() or png_set_keep_unknown_chunks().

Impact

A remote attacker could entice a user or automated system to process a specially crafted PNG image in an application using libpng and possibly execute arbitrary code with the privileges of the user running the application. Note that processing of unknown chunks is disabled by default in most PNG applications, but some such as ImageMagick are affected.

Workaround

There is no known workaround at this time.

Resolution

All libpng users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=media-libs/libpng-1.2.26-r1"

References

Release date
April 15, 2008

Latest revision
April 15, 2008: 01

Severity
high

Exploitable
remote

Bugzilla entries