Bug 1120956 - (CVE-2018-20662) VUL-1: CVE-2018-20662: poppler: PDFDoc setup in PDFDoc.cc allows attackers to cause DOS because of a wrong return value from PDFDoc:setup
(CVE-2018-20662)
VUL-1: CVE-2018-20662: poppler: PDFDoc setup in PDFDoc.cc allows attackers to...
Status: REOPENED
Classification: Novell Products
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents
unspecified
Other Other
: P4 - Low : Minor
: ---
Assigned To: Peter Simons
Security Team bot
https://smash.suse.de/issue/222202/
CVSSv3:SUSE:CVE-2018-20662:3.3:(AV:L/...
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2019-01-07 16:12 UTC by Alexandros Toptsoglou
Modified: 2021-12-01 21:13 UTC (History)
3 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
rfrohl: needinfo? (peter.simons)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexandros Toptsoglou 2019-01-07 16:12:56 UTC
CVE-2018-20662

In Poppler 0.72.0, PDFDoc::setup in PDFDoc.cc allows attackers to cause a
denial-of-service (application crash caused by Object.h SIGABRT, because of a
wrong return value from PDFDoc::setup) by crafting a PDF file in which an xref
data structure is mishandled during extractPDFSubtype processing.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-20662
https://gitlab.freedesktop.org/poppler/poppler/commit/9fd5ec0e6e5f763b190f2a55ceb5427cfe851d5f
https://gitlab.freedesktop.org/poppler/poppler/issues/706
Comment 1 Alexandros Toptsoglou 2019-01-07 16:22:56 UTC
According to upstream [1]. This was only introduced after commit de0c0b83 which was fixing CVE-2018-20650 and tracked in [2]. This commit has not introduced in any of our release and thus we are not affected. POCs can be found in [3]. There was an attempt for fixing in [4] but later this fix created regression and the fix was reverted [5]. Thus this is an open issue. 


[1] https://gitlab.freedesktop.org/poppler/poppler/issues/706
[2] https://bugzilla.suse.com/show_bug.cgi?id=1120939
[3] https://gitlab.freedesktop.org/poppler/poppler/uploads/6b9f371709bfbb06a391d0f3d02c401b/pdfunite.zip
[4] https://gitlab.freedesktop.org/poppler/poppler/commit/9fd5ec0e6e5f763b190f2a55ceb5427cfe851d5f
[5] https://gitlab.freedesktop.org/poppler/poppler/commit/1e99a1eeb3a144facf45165df9f457796c045daa
Comment 3 ANTONIO CARISTA 2019-03-28 07:13:01 UTC
Working on S:M:10689:187745 i got core dumped before ad after update.

here reproducer: https://gitlab.freedesktop.org/poppler/poppler/issues/706

BEFORE:
======

        bragi:/tmp/test_poppler/pdfunite # rpm -qa|grep poppler
        libpoppler73-0.62.0-2.33.x86_64
        libpoppler-glib8-0.62.0-2.33.x86_64
        libpoppler-cpp0-0.62.0-2.33.x86_64
        poppler-tools-0.62.0-2.33.x86_64
        libpoppler-qt5-1-0.62.0-2.43.x86_64
        libpoppler-devel-0.62.0-2.33.x86_64
        libpoppler-qt5-devel-0.62.0-2.43.x86_64
        libpoppler-glib-devel-0.62.0-2.33.x86_64
        poppler-data-0.4.8-bp150.2.4.noarch


        bragi:/tmp/test_poppler/pdfunite # pdfunite RELEASE-NOTES.it.pdf sigabrt_Object.h:258_1.pdf  OUTPUT.pdf
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Invalid XRef entry
        Internal Error: xref num 21 not found but needed, try to reconstruct<0a>
        Syntax Error: Invalid XRef entry
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Could not find catalog dictionary
        Syntax Error: Invalid XRef entry
        Syntax Error: Couldn't find trailer dictionary
        Internal Error (0): Call to Object where the object was type 5, not the expected type 7
        Aborted (core dumped)

        bragi:/tmp/test_poppler/pdfunite # pdfunite RELEASE-NOTES.it.pdf sigabrt_Object.h:258_2.pdf  OUTPUT.pdf
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error (374): Illegal character <10> in hex string
        Syntax Error (603): Dictionary key must be a name object
        Syntax Error (605): Dictionary key must be a name object
        Syntax Error (611): Dictionary key must be a name object
        Syntax Error (603): Dictionary key must be a name object
        Syntax Error (605): Dictionary key must be a name object
        Syntax Error (611): Dictionary key must be a name object
        Syntax Error: Failed to parse XRef entry [1].
        Internal Error: xref num 1 not found but needed, try to reconstruct<0a>
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error (1014): Dictionary key must be a name object
        Syntax Error (1016): Dictionary key must be a name object
        Syntax Error (1018): Dictionary key must be a name object
        Syntax Error (1018): Dictionary key must be a name object
        Syntax Error (1020): Dictionary key must be a name object
        Syntax Error: Page count in top-level pages object is wrong type (null)
        Syntax Error: Couldn't find trailer dictionary
        Internal Error (0): Call to Object where the object was type 5, not the expected type 7
        Aborted (core dumped)


AFTER:
======

        bragi:/tmp/test_poppler/pdfunite # rpm -qa|grep poppler
        libpoppler-qt5-1-0.62.0-4.3.2.x86_64
        poppler-tools-0.62.0-4.3.2.x86_64
        libpoppler-glib-devel-0.62.0-4.3.2.x86_64
        libpoppler-cpp0-0.62.0-4.3.2.x86_64
        libpoppler73-0.62.0-4.3.2.x86_64
        poppler-data-0.4.8-bp150.2.4.noarch
        libpoppler-qt5-devel-0.62.0-4.3.2.x86_64
        libpoppler-devel-0.62.0-4.3.2.x86_64
        libpoppler-glib8-0.62.0-4.3.2.x86_64


        bragi:/tmp/test_poppler/pdfunite # pdfunite RELEASE-NOTES.it.pdf sigabrt_Object.h:258_2.pdf  OUTPUT.pdf
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error (374): Illegal character <10> in hex string
        Syntax Error (603): Dictionary key must be a name object
        Syntax Error (605): Dictionary key must be a name object
        Syntax Error (611): Dictionary key must be a name object
        Syntax Error (603): Dictionary key must be a name object
        Syntax Error (605): Dictionary key must be a name object
        Syntax Error (611): Dictionary key must be a name object
        Syntax Error: Failed to parse XRef entry [1].
        Internal Error: xref num 1 not found but needed, try to reconstruct<0a>
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error (1014): Dictionary key must be a name object
        Syntax Error (1016): Dictionary key must be a name object
        Syntax Error (1018): Dictionary key must be a name object
        Syntax Error (1018): Dictionary key must be a name object
        Syntax Error (1020): Dictionary key must be a name object
        Syntax Error: Page count in top-level pages object is wrong type (null)
        Syntax Error: Couldn't find trailer dictionary
        Internal Error (0): Call to Object where the object was type 5, not the expected type 7
        Aborted (core dumped)

        bragi:/tmp/test_poppler/pdfunite # pdfunite RELEASE-NOTES.it.pdf sigabrt_Object.h:258_1.pdf  OUTPUT.pdf
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Invalid XRef entry
        Internal Error: xref num 21 not found but needed, try to reconstruct<0a>
        Syntax Error: Invalid XRef entry
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Could not find catalog dictionary
        Syntax Error: Invalid XRef entry
        Syntax Error: Couldn't find trailer dictionary
        Internal Error (0): Call to Object where the object was type 5, not the expected type 7
        Aborted (core dumped)

        bragi:/tmp/test_poppler/pdfunite # pdfunite sigabrt_Object.h\:258_1.pdf sigabrt_Object.h:258_2.pdf  OUTPUT.pdf
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error (374): Illegal character <10> in hex string
        Syntax Error (603): Dictionary key must be a name object
        Syntax Error (605): Dictionary key must be a name object
        Syntax Error (611): Dictionary key must be a name object
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Invalid XRef entry
        Internal Error: xref num 21 not found but needed, try to reconstruct<0a>
        Syntax Error: Invalid XRef entry
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Catalog object is wrong type (null)
        Syntax Error: Cannot allocate page cache
        Syntax Error: Invalid XRef entry
        Syntax Error: Couldn't find trailer dictionary
        Syntax Error: Catalog object is wrong type (null)
        Internal Error (0): Call to Object where the object was type 5, not the expected type 7
        Aborted (core dumped)
Comment 4 Alexandros Toptsoglou 2019-06-05 12:30:20 UTC
The wrong patch for CVE-2018-20662 has been applied. As it is explained in comment 0 that patch creates regression and upstream did not use it. The correct patch is located at [1]. Please resubmit.  

[1] https://gitlab.freedesktop.org/mkasik/poppler/commit/7b4e372deeb716eb3fe3a54b31ed41af759224f9
Comment 8 Swamp Workflow Management 2021-12-01 20:29:26 UTC
SUSE-SU-2021:3854-1: An update that fixes 21 vulnerabilities is now available.

Category: security (important)
Bug References: 1092945,1102531,1107597,1114966,1115185,1115186,1115187,1115626,1120495,1120496,1120939,1120956,1124150,1127329,1129202,1130229,1131696,1131722,1142465,1143950,1179163
CVE References: CVE-2017-18267,CVE-2018-13988,CVE-2018-16646,CVE-2018-18897,CVE-2018-19058,CVE-2018-19059,CVE-2018-19060,CVE-2018-19149,CVE-2018-20481,CVE-2018-20551,CVE-2018-20650,CVE-2018-20662,CVE-2019-10871,CVE-2019-10872,CVE-2019-14494,CVE-2019-7310,CVE-2019-9200,CVE-2019-9631,CVE-2019-9903,CVE-2019-9959,CVE-2020-27778
JIRA References: 
Sources used:
SUSE Linux Enterprise Workstation Extension 15-SP2 (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise Server for SAP 15-SP1 (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise Server for SAP 15 (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise Server 15-SP1-LTSS (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise Server 15-SP1-BCL (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise Server 15-LTSS (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise High Performance Computing 15-SP1-LTSS (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise High Performance Computing 15-SP1-ESPOS (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise High Performance Computing 15-LTSS (src):    poppler-0.62.0-4.6.1
SUSE Linux Enterprise High Performance Computing 15-ESPOS (src):    poppler-0.62.0-4.6.1
SUSE Enterprise Storage 6 (src):    poppler-0.62.0-4.6.1
SUSE CaaS Platform 4.0 (src):    poppler-0.62.0-4.6.1

NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
Comment 9 Swamp Workflow Management 2021-12-01 21:13:22 UTC
openSUSE-SU-2021:3854-1: An update that fixes 21 vulnerabilities is now available.

Category: security (important)
Bug References: 1092945,1102531,1107597,1114966,1115185,1115186,1115187,1115626,1120495,1120496,1120939,1120956,1124150,1127329,1129202,1130229,1131696,1131722,1142465,1143950,1179163
CVE References: CVE-2017-18267,CVE-2018-13988,CVE-2018-16646,CVE-2018-18897,CVE-2018-19058,CVE-2018-19059,CVE-2018-19060,CVE-2018-19149,CVE-2018-20481,CVE-2018-20551,CVE-2018-20650,CVE-2018-20662,CVE-2019-10871,CVE-2019-10872,CVE-2019-14494,CVE-2019-7310,CVE-2019-9200,CVE-2019-9631,CVE-2019-9903,CVE-2019-9959,CVE-2020-27778
JIRA References: 
Sources used:
openSUSE Leap 15.3 (src):    poppler-0.62.0-4.6.1