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
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
Created poppler tracking bugs for this issue: Affects: fedora-all [bug 1024765]
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.
Statement: Not Vulnerable. This issue does not affect the version of poppler as shipped with Red Hat Enterprise Linux 5 and 6.
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.
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.