Bug 1024762 - (CVE-2013-4474) CVE-2013-4474 poppler: format string flaw in pdfseparate utility
CVE-2013-4474 poppler: format string flaw in pdfseparate utility
Status: CLOSED NOTABUG
Product: Security Response
Classification: Other
Component: vulnerability (Show other bugs)
unspecified
All Linux
medium Severity medium
: ---
: ---
Assigned To: Red Hat Product Security
impact=moderate,public=20131026,repor...
: Security
Depends On: 1024765 1025160
Blocks: 1025135 1025139
  Show dependency treegraph
 
Reported: 2013-10-30 07:37 EDT by Ratul Gupta
Modified: 2015-10-15 14:03 EDT (History)
4 users (show)

See Also:
Fixed In Version: poppler 0.24.3
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-31 02:39:28 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ratul Gupta 2013-10-30 07:37:23 EDT
Poppler was found to have a user controlled format string vulnerability because it fails to sanitize user-supplied input. An attacker may exploit this issue to execute arbitrary code in the context of the vulnerable application. Failed exploit attempts will likely result in a denial-of-service condition. 

The issue is said to be fixed in Poppler 0.24.3.

References:
http://seclists.org/oss-sec/2013/q4/181

Commit:
http://cgit.freedesktop.org/poppler/poppler/commit/?id=61f79b8447c3ac8ab5a26e79e0c28053ffdccf75
Comment 1 Ratul Gupta 2013-10-30 07:39:00 EDT
Filename(line): poppler-0.24.2/utils/pdfseparate.cc(70)
Code snippet:

bool extractPages (const char *srcFileName, const char *destFileName) {
  char pathName[4096];
  GooString *gfileName = new GooString (srcFileName);
  PDFDoc *doc = new PDFDoc (gfileName, NULL, NULL, NULL);

...

  if (firstPage != lastPage && strstr(destFileName, "%d") == NULL) {
    error(errSyntaxError, -1, "'{0:s}' must contain '%%d' if more than
one page should be extracted", destFileName);
    return false;
  }
  for (int pageNo = firstPage; pageNo <= lastPage; pageNo++) {
    snprintf (pathName, sizeof (pathName) - 1, destFileName, pageNo);
^ function parameter passed as format string

The function is called by main in line 110 directly passing the arguments:
ok = extractPages (argv[1], argv[2]);
^ destFileName parameter
Comment 2 Ratul Gupta 2013-10-30 07:42:41 EDT
Created poppler tracking bugs for this issue:

Affects: fedora-all [bug 1024765]
Comment 3 Huzaifa S. Sidhpurwala 2013-10-31 02:38:03 EDT
This flaw affects the pdfseparate utility shipped with poppler. This utility is not shipped with the version of poppler shipped with Red Hat Enterprise Linux 5 and 6.
Comment 4 Huzaifa S. Sidhpurwala 2013-10-31 02:39:28 EDT
Statement:

Not Vulnerable. This issue does not affect the version of poppler as shipped with Red Hat Enterprise Linux 5 and 6.
Comment 6 Fedora Update System 2013-11-10 21:24:58 EST
poppler-0.22.1-5.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 8 Fedora Update System 2013-11-16 02:15:43 EST
poppler-0.20.2-17.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.