Bug 1082842 - (CVE-2018-7454) VUL-1: CVE-2018-7454: xpdf: A NULL pointer dereference in XFAForm::scanFields in XFAForm.cc allows attackers to launch denial of service via a specific pdf file
(CVE-2018-7454)
VUL-1: CVE-2018-7454: xpdf: A NULL pointer dereference in XFAForm::scanFields...
Status: NEW
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P4 - Low : Normal
: ---
Assigned To: Peter Simons
Security Team bot
https://smash.suse.de/issue/200814/
CVSSv3:SUSE:CVE-2018-7454:3.3:(AV:L/...
:
Depends on:
Blocks: 1133493
  Show dependency treegraph
 
Reported: 2018-02-26 13:08 UTC by Karol Babioch
Modified: 2020-06-29 06:32 UTC (History)
1 user (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Karol Babioch 2018-02-26 13:08:49 UTC
CVE-2018-7454

A NULL pointer dereference in XFAForm::scanFields in XFAForm.cc in xpdf 4.00
allows attackers to launch denial of service via a specific pdf file, as
demonstrated by pdftohtml.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-7454
http://www.cvedetails.com/cve/CVE-2018-7454/
Comment 1 Peter Simons 2018-06-21 09:14:54 UTC
No fix for this issue was published. According to the web forum, upstream tried to remedy this issue by

> adding a test for nComps==0 when reading the SIZ segment

..., but this turned out to be insufficient. After some back and forth, the solution apparently is to disable 0 page PDF files altogether:

> Zero-page PDF files are kind of an odd case. I'll add a test in XFAForm::load that bails out early if nPages==0.

I looked at the code of XFAForm::load() in the 4.00 release, trying to re-implement the fix, but unfortunately there is no obvious way to write that test. (nPages is an attribute deep inside of a XFAForm object, so the object has to be constructed already before I can access it, which seems too late for the test to be meaningful).

Upstream was asked whether they'll release the fix -- or a new version that contains it --, and they said:

> This will be in the next release. I don't have a schedule for that yet.

That was over a year ago.