First published: Fri Oct 02 2009(Updated: )
Ludwig Nussel reported an integer overflow in poppler's create_surface_from_thumbnail_data() function. cairo_pixels buffer is allocated as: cairo_pixels = (guchar *)g_malloc (4 * width * height); <a href="http://cgit.freedesktop.org/poppler/poppler/tree/glib/poppler-page.cc#n615">http://cgit.freedesktop.org/poppler/poppler/tree/glib/poppler-page.cc#n615</a> where width / height is read from PDF file. Some validation of the values is done in Page::loadThumb(), but it is not sufficient to prevent the overflow: if (width > INT_MAX / 3 / height) <a href="http://cgit.freedesktop.org/poppler/poppler/tree/poppler/Page.cc#n547">http://cgit.freedesktop.org/poppler/poppler/tree/poppler/Page.cc#n547</a> This code does not exist in poppler as shipped in EL5, nor it is part of xpdf.
Affected Software | Affected Version | How to fix |
---|---|---|
Poppler Data |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-526924 is high due to the potential for an integer overflow leading to memory corruption.
To fix REDHAT-BUG-526924, update your Poppler package to a version that includes the patch for the integer overflow issue.
The affected software for REDHAT-BUG-526924 is Poppler, specifically in its create_surface_from_thumbnail_data() function.
Yes, REDHAT-BUG-526924 can lead to security vulnerabilities by allowing potential exploitation through memory corruption.
A potential workaround for REDHAT-BUG-526924 is to limit the input data size to prevent triggering the integer overflow.