libpng: Multiple vulnerabilities — GLSA 201206-15

Multiple vulnerabilities in libpng might allow remote attackers to execute arbitrary code or cause a Denial of Service condition.

Affected Packages

media-libs/libpng on all architectures
Affected versions < 1.5.10
Unaffected versions >= 1.5.10, revision >= 1.2.49, revision >= 1.2.50, revision >= 1.2.51

Background

libpng is a standard library used to process PNG (Portable Network Graphics) images. It is used by several programs, including web browsers and potentially server processes.

Description

Multiple vulnerabilities have been discovered in libpng:

  • The “embedded_profile_len()” function in pngwutil.c does not check for negative values, resulting in a memory leak (CVE-2009-5063).
  • The “png_format_buffer()” function in pngerror.c contains an off-by-one error (CVE-2011-2501).
  • The “png_rgb_to_gray()” function in pngrtran.c contains an integer overflow error (CVE-2011-2690).
  • The “png_err()” function in pngerror.c contains a NULL pointer dereference error (CVE-2011-2691).
  • The “png_handle_sCAL()” function in pngrutil.c improperly handles malformed sCAL chunks(CVE-2011-2692).
  • The “png_decompress_chunk()” function in pngrutil.c contains an integer overflow error (CVE-2011-3026).
  • The “png_inflate()” function in pngrutil.c contains and out of bounds error (CVE-2011-3045).
  • The “png_set_text_2()” function in pngset.c contains an error which could result in memory corruption (CVE-2011-3048).
  • The “png_formatted_warning()” function in pngerror.c contains an off-by-one error (CVE-2011-3464).

Impact

An attacker could exploit these vulnerabilities to execute arbitrary code with the permissions of the user running the vulnerable program, which could be the root user, or to cause programs linked against the library to crash.

Workaround

There is no known workaround at this time.

Resolution

All libpng 1.5 users should upgrade to the latest version:

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

All libpng 1.2 users should upgrade to the latest version:

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

Packages which depend on this library may need to be recompiled. Tools such as revdep-rebuild may assist in identifying some of these packages.

References

Release Date
June 22, 2012

Latest Revision
June 02, 2014: 3

Severity
normal

Exploitable
remote

Bugzilla entries