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.
The png_push_read_chunk function in pngpread.c in the progressive decoder enters an infinite loop, when it encounters a zero-length IDAT chunk. In addition certain integer overflows have been detected and corrected.
The 1.2 branch is not affected by these vulnerabilities.
A remote attacker could entice a user to open a specially crafted PNG file using an application linked against libpng, possibly resulting in Denial of Service.
There is no known workaround at this time.
All libpng users should upgrade to the latest version:
# emerge --sync
# emerge --ask --oneshot --verbose ">=media-libs/libpng-1.6.10"
Users with current installs in the 1.5 branch should also upgrade this using:
# emerge --sync
# emerge --ask --oneshot --verbose ">=media-libs/libpng-1.5.18:1.5"
Packages which depend on this library may need to be recompiled. Tools such as revdep-rebuild may assist in identifying these packages.