Gentoo: GLSA-201701-74: libpng: Remote execution of arbitrary code
Summary
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.
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
[ 1 ] CVE-2016-10087 http://nvd.nist.gov/nvd.cfm?cvename=CVE-2016-10087
Availability
This GLSA and any updates to it are available for viewing at
the Gentoo Security Website:
https://security.gentoo.org/glsa/201701-74
Concerns
Security is a primary focus of Gentoo Linux and ensuring the confidentiality and security of our users' machines is of utmost importance to us. Any security concerns should be addressed to security@gentoo.org or alternatively, you may file a bug at https://bugs.gentoo.org.
Synopsis
A null pointer dereference in libpng might allow remote attackers to execute arbitrary code.
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.
Affected Packages
------------------------------------------------------------------- Package / Vulnerable / Unaffected ------------------------------------------------------------------- 1 media-libs/libpng < 1.6.27 >= 1.6.27 >= 1.5.28 >= 1.2.57
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.