First published: Thu Nov 26 2009(Updated: )
SuSE reported a buffer overflow in FoFiType1::parse affecting older xpdf versions. Code snippets from fofi/FoFiType1.cc: 133 void FoFiType1::parse() { ... 163 line = getNextLine(line); 164 for (j = 0; j < 300 && line; ++j) { 165 line1 = getNextLine(line); 166 if ((n = line1 - line) > 255) { 167 n = 255; 168 } 169 strncpy(buf, line, n); getNextLine can, however, return NULL: 117 char *FoFiType1::getNextLine(char *line) { 118 while (line < (char *)file + len && *line != '\x0a' && *line != '\x0d') { 119 ++line; 120 } 121 if (line < (char *)file + len && *line == '\x0d') { 122 ++line; 123 } 124 if (line < (char *)file + len && *line == '\x0a') { 125 ++line; 126 } 127 if (line >= (char *)file + len) { 128 return NULL; 129 } Therefore, (line1 - line) is not defined / results in negative value n. That value is later passed to strncpy, causing overflow of buf buffer.
Credit: secalert@redhat.com
Affected Software | Affected Version | How to fix |
---|---|---|
GNOME GPDF | =2.8.2 | |
KDE KPDF | =3.3.1 | |
KDE Graphics | =3.3.1 | |
Xpdf | =3.0.0 |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
CVE-2009-4035 has a high severity rating due to the buffer overflow vulnerability that can lead to code execution.
To fix CVE-2009-4035, you should upgrade to the patched versions of affected software such as Gnome GPDF 2.8.3 or newer.
CVE-2009-4035 affects older versions of Gnome GPDF, KDE KPDF, KDE Graphics, and Xpdf.
Exploiting CVE-2009-4035 could allow an attacker to execute arbitrary code on the vulnerable system.
CVE-2009-4035 is primarily a local vulnerability, but it can be triggered by opening malicious PDF files.