libpng: Remote execution of arbitrary code — GLSA 201701-74

A null pointer dereference in libpng might allow remote attackers to execute arbitrary code.

Affected packages

media-libs/libpng on all architectures
Affected versions < 1.6.27
Unaffected versions >= 1.6.27
>= 1.5.28
>= 1.2.57

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

A null pointer dereference was discovered in libpng in the png_push_save_buffer function. In order to be vulnerable, an application has to load a text chunk into the PNG structure, then delete all text, then add another text chunk to the same PNG structure, which seems to be an unlikely sequence, but it is possible.

Impact

A remote attacker, by enticing a user to process a specially crafted PNG file, could execute arbitrary code with the privileges of the process.

Workaround

There is no known workaround at this time.

Resolution

All libpng 1.6.x users should upgrade to the latest version:

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

All libpng 1.5.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=media-libs/libpng-1.5.28:1.5"
 

All libpng 1.2.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=media-libs/libpng-1.2.57:1.2"
 

References

Release date
January 29, 2017

Latest revision
January 29, 2017: 1

Severity
normal

Exploitable
remote

Bugzilla entries