Overview
Libpng contains a vulnerability in the way it handles images containing an extra row of image data beyond the height reported in the image header.
Description
A vulnerability exists in the way libpng receives an extra row of image data beyond the height reported in the header of the image. According to the PNG Development Group: 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). |
Impact
This vulnerability could allow an unauthenticated, remote attacker to execute arbitrary code via a specially crafted PNG image. The attacker supplied code would be run in the context of an application using an affected version of libpng. |
Solution
Upgrade |
A workaround for vendors of products or applications using derivative versions of libpng is to check for row_num greater than or equal to the image height, at the beginning of the user-supplied row callback function. |
Vendor Information
CVSS Metrics
Group | Score | Vector |
---|---|---|
Base | ||
Temporal | ||
Environmental |
References
- http://libpng.org/pub/png/libpng.html
- http://libpng.git.sourceforge.net/git/gitweb.cgi?p=libpng/libpng;a=commitdiff;h=188eb6b42602bf7d7ae708a21897923b6a83fe7c#patch18
- https://bugzilla.redhat.com/show_bug.cgi?id=608238
- http://admin.fedoraproject.org/updates/libpng-1.2.44-1.fc13
- http://admin.fedoraproject.org/updates/libpng-1.2.44-1.fc12
Acknowledgements
This issue was reported by the PNG Development Group in libpng version 1.2.44 and 1.4.3.
This document was written by Michael Orlando.
Other Information
CVE IDs: | CVE-2010-1205 |
Severity Metric: | 12.96 |
Date Public: | 2010-06-25 |
Date First Published: | 2010-07-02 |
Date Last Updated: | 2010-07-12 19:31 UTC |
Document Revision: | 19 |