Tavis Ormandy has reported a vulnerability in libpng, which can be
exploited by malicious people to cause a Denial of Service, disclose
potentially sensitive information, or potentially compromise an
application using the library.

The vulnerability is caused due to the improper handling of PNG
chunks unknown to the library. This can be exploited to trigger the
use of uninitialized memory in e.g. a free() call via unknown PNG
chunks having a length of zero.

Successful exploitation may allow execution of arbitrary code, but
requires that the application calls the png_set_read_user_chunk_fn()
function or the png_set_keep_unknown_chunks() function under
specific conditions.

Several versions of libpng through 1.4.2 (and through 1.2.43
in the older series) contain a bug whereby progressive
applications such as web browsers (or the rpng2 demo app included
in libpng) could receive an extra row of image data beyond the
height reported in the header, potentially leading to an
out-of-bounds write to memory (depending on how the application
is written) and the possibility of execution of an attacker's
code with the privileges of the libpng user (including remote
compromise in the case of a libpng-based browser visiting a
hostile web site).

Tavis Ormandy has reported a vulnerability in libpng, which can be
exploited by malicious people to cause a Denial of Service, disclose
potentially sensitive information, or potentially compromise an
application using the library.

The vulnerability is caused due to the improper handling of PNG
chunks unknown to the library. This can be exploited to trigger the
use of uninitialized memory in e.g. a free() call via unknown PNG
chunks having a length of zero.

Successful exploitation may allow execution of arbitrary code, but
requires that the application calls the png_set_read_user_chunk_fn()
function or the png_set_keep_unknown_chunks() function under
specific conditions.

Several versions of libpng through 1.4.2 (and through 1.2.43
in the older series) contain a bug whereby progressive
applications such as web browsers (or the rpng2 demo app included
in libpng) could receive an extra row of image data beyond the
height reported in the header, potentially leading to an
out-of-bounds write to memory (depending on how the application
is written) and the possibility of execution of an attacker's
code with the privileges of the libpng user (including remote
compromise in the case of a libpng-based browser visiting a
hostile web site).