Bug 1646389 (CVE-2018-18020)

Summary: CVE-2018-18020 qpdf: recursive calls can lead to a DoS in libqpdf/QPDFWriter.cc
Product: [Other] Security Response Reporter: Laura Pardo <lpardo>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: jpopelka, twaugh, zdohnal
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-28 11:09:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1646390, 1646391, 1646392    
Bug Blocks: 1646395    

Description Laura Pardo 2018-11-05 14:02:01 UTC
A flaw was found in QPDF 8.2.1, in libqpdf/QPDFWriter.cc, QPDFWriter::unparseObject and QPDFWriter::unparseChild have recursive calls for a long time, which allows remote attackers to cause a denial of service via a crafted PDF file.


References:
https://github.com/qpdf/qpdf/issues/243

Comment 1 Laura Pardo 2018-11-05 14:02:51 UTC
Created qpdf tracking bugs for this issue:

Affects: epel-6 [bug 1646390]
Affects: fedora-all [bug 1646391]

Comment 3 Stefan Cornelius 2018-11-28 11:09:42 UTC
I failed to reproduce this behavior during my testing. However, the real problem here seems to be the use of an arbitrary limit. Finding such limits is always a balancing act.

If you run into this problem in a real world scenario, please comment and we'll investigate and possibly adjust the limit.