Vulnerabilities > CVE-2019-9959 - Integer Overflow or Wraparound vulnerability in multiple products

047910
CVSS 6.5 - MEDIUM
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
HIGH

Summary

The JPXStream::init function in Poppler 0.78.0 and earlier doesn't check for negative values of stream length, leading to an Integer Overflow, thereby making it possible to allocate a large memory chunk on the heap, with a size controlled by an attacker, as demonstrated by pdftocairo.

Vulnerable Configurations

Part Description Count
Application
Freedesktop
193
OS
Debian
3
OS
Fedoraproject
2
OS
Redhat
11

Common Weakness Enumeration (CWE)

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Forced Integer Overflow
    This attack forces an integer variable to go out of range. The integer variable is often used as an offset such as size of memory allocation or similarly. The attacker would typically control the value of such variable and try to get it out of range. For instance the integer in question is incremented past the maximum possible value, it may wrap to become a very small, or negative number, therefore providing a very incorrect value which can lead to unexpected behavior. At worst the attacker can execute arbitrary code.

Nessus

  • NASL familyOracle Linux Local Security Checks
    NASL idORACLELINUX_ELSA-2019-2713.NASL
    descriptionFrom Red Hat Security Advisory 2019:2713 : An update for poppler is now available for Red Hat Enterprise Linux 8. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. Poppler is a Portable Document Format (PDF) rendering library, used by applications such as Evince. Security Fix(es) : * poppler: heap-based buffer over-read in XRef::getEntry in XRef.cc (CVE-2019-7310) * poppler: heap-based buffer overflow in function ImageStream::getLine() in Stream.cc (CVE-2019-9200) * poppler: heap-based buffer over-read in function PSOutputDev::checkPageSlice in PSOutputDev.cc (CVE-2019-10871) * poppler: heap-based buffer over-read in JPXStream::init in JPEG2000Stream.cc (CVE-2019-12293) * poppler: memory leak in GfxColorSpace::setDisplayProfile in GfxState.cc (CVE-2018-18897) * poppler: NULL pointer dereference in the XRef::getEntry in XRef.cc (CVE-2018-20481) * poppler: reachable Object::getString assertion in AnnotRichMedia class in Annot.c (CVE-2018-20551) * poppler: reachable Object::dictLookup assertion in FileSpec class in FileSpec.cc (CVE-2018-20650) * poppler: SIGABRT PDFDoc::setup class in PDFDoc.cc (CVE-2018-20662) * poppler: heap-based buffer over-read in function downsample_row_box_filter in CairoRescaleBox.cc (CVE-2019-9631) * poppler: stack consumption in function Dict::find() in Dict.cc (CVE-2019-9903) * poppler: integer overflow in JPXStream::init function leading to memory consumption (CVE-2019-9959) For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
    last seen2020-06-01
    modified2020-06-02
    plugin id128846
    published2019-09-16
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128846
    titleOracle Linux 8 : poppler (ELSA-2019-2713)
  • NASL familyMisc.
    NASL idPOPPLER_0_79.NASL
    descriptionThe version of Poppler installed on the remote host is 0.79. It is, therefore, affected by an integer overflow vulnerability. The JPXStream::init function in Poppler 0.78.0 and earlier doesn
    last seen2020-06-01
    modified2020-06-02
    plugin id127052
    published2019-07-26
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/127052
    titlePoppler < 0.79 Integer Overflow Vulnerability
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2019-8729E0EDF5.NASL
    descriptionSecurity fix for CVE-2019-9959. Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id127826
    published2019-08-13
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/127826
    titleFedora 29 : poppler (2019-8729e0edf5)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2019-69EC14786B.NASL
    descriptionSecurity fix for CVE-2019-9959. Note that Tenable Network Security has extracted the preceding description block directly from the Fedora update system website. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id127825
    published2019-08-13
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/127825
    titleFedora 30 : poppler (2019-69ec14786b)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2015.NASL
    descriptionAccording to the version of the poppler packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - The JPXStream::init function in Poppler 0.78.0 and earlier doesn
    last seen2020-05-08
    modified2019-09-24
    plugin id129208
    published2019-09-24
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129208
    titleEulerOS 2.0 SP3 : poppler (EulerOS-SA-2019-2015)
  • NASL familyRed Hat Local Security Checks
    NASL idREDHAT-RHSA-2019-2713.NASL
    descriptionAn update for poppler is now available for Red Hat Enterprise Linux 8. Red Hat Product Security has rated this update as having a security impact of Moderate. A Common Vulnerability Scoring System (CVSS) base score, which gives a detailed severity rating, is available for each vulnerability from the CVE link(s) in the References section. Poppler is a Portable Document Format (PDF) rendering library, used by applications such as Evince. Security Fix(es) : * poppler: heap-based buffer over-read in XRef::getEntry in XRef.cc (CVE-2019-7310) * poppler: heap-based buffer overflow in function ImageStream::getLine() in Stream.cc (CVE-2019-9200) * poppler: heap-based buffer over-read in function PSOutputDev::checkPageSlice in PSOutputDev.cc (CVE-2019-10871) * poppler: heap-based buffer over-read in JPXStream::init in JPEG2000Stream.cc (CVE-2019-12293) * poppler: memory leak in GfxColorSpace::setDisplayProfile in GfxState.cc (CVE-2018-18897) * poppler: NULL pointer dereference in the XRef::getEntry in XRef.cc (CVE-2018-20481) * poppler: reachable Object::getString assertion in AnnotRichMedia class in Annot.c (CVE-2018-20551) * poppler: reachable Object::dictLookup assertion in FileSpec class in FileSpec.cc (CVE-2018-20650) * poppler: SIGABRT PDFDoc::setup class in PDFDoc.cc (CVE-2018-20662) * poppler: heap-based buffer over-read in function downsample_row_box_filter in CairoRescaleBox.cc (CVE-2019-9631) * poppler: stack consumption in function Dict::find() in Dict.cc (CVE-2019-9903) * poppler: integer overflow in JPXStream::init function leading to memory consumption (CVE-2019-9959) For more details about the security issue(s), including the impact, a CVSS score, acknowledgments, and other related information, refer to the CVE page(s) listed in the References section.
    last seen2020-06-01
    modified2020-06-02
    plugin id128850
    published2019-09-16
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128850
    titleRHEL 8 : poppler (RHSA-2019:2713)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1827.NASL
    descriptionAccording to the versions of the poppler packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - The JPXStream::init function in Poppler 0.78.0 and earlier doesn
    last seen2020-05-03
    modified2019-08-27
    plugin id128196
    published2019-08-27
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/128196
    titleEulerOS 2.0 SP8 : poppler (EulerOS-SA-2019-1827)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2499.NASL
    descriptionAccording to the versions of the poppler packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - poppler since version 0.17.3 has been vulnerable to NULL pointer dereference in pdfunite triggered by specially crafted documents.(CVE-2017-7511) - poppler through version 0.55.0 is vulnerable to an uncontrolled recursion in pdfunite resulting into potential denial-of-service.(CVE-2017-7515) - Poppler before 0.70.0 has a NULL pointer dereference in _poppler_attachment_new when called from poppler_annot_file_attachment_get_attachment.(CVE-2018- 19149) - In Poppler 0.54.0, a memory leak vulnerability was found in the function gmalloc in gmem.cc, which allows attackers to cause a denial of service via a crafted file.(CVE-2017-9406) - In Poppler 0.54.0, a memory leak vulnerability was found in the function Object::initArray in Object.cc, which allows attackers to cause a denial of service via a crafted file.(CVE-2017-9408) - The JPXStream::init function in Poppler 0.78.0 and earlier doesn
    last seen2020-05-08
    modified2019-12-04
    plugin id131652
    published2019-12-04
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131652
    titleEulerOS 2.0 SP2 : poppler (EulerOS-SA-2019-2499)
  • NASL familyScientific Linux Local Security Checks
    NASL idSL_20200407_POPPLER_AND_EVINCE_ON_SL7_X.NASL
    description* poppler: integer overflow in Parser::makeStream in Parser.cc * poppler: heap-based buffer over-read in function PSOutputDev::checkPageSlice in PSOutputDev.cc * poppler: heap-based buffer over-read in JPXStream::init in JPEG2000Stream.cc * poppler: integer overflow in JPXStream::init function leading to memory consumption * evince: uninitialized memory use in function tiff_document_render() and tiff_document_get_thumbnail()
    last seen2020-04-30
    modified2020-04-21
    plugin id135829
    published2020-04-21
    reporterThis script is Copyright (C) 2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/135829
    titleScientific Linux Security Update : poppler and evince on SL7.x x86_64 (20200407)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1986.NASL
    descriptionAccording to the version of the poppler packages installed, the EulerOS installation on the remote host is affected by the following vulnerability : - The JPXStream::init function in Poppler 0.78.0 and earlier doesn
    last seen2020-05-08
    modified2019-09-24
    plugin id129180
    published2019-09-24
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/129180
    titleEulerOS 2.0 SP5 : poppler (EulerOS-SA-2019-1986)

Redhat

advisories
  • bugzilla
    id1732340
    titleCVE-2019-9959 poppler: integer overflow in JPXStream::init function leading to memory consumption
    oval
    OR
    • commentRed Hat Enterprise Linux must be installed
      ovaloval:com.redhat.rhba:tst:20070304026
    • AND
      • commentRed Hat Enterprise Linux 8 is installed
        ovaloval:com.redhat.rhba:tst:20193384074
      • OR
        • AND
          • commentpoppler-debugsource is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713001
          • commentpoppler-debugsource is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20192713002
        • AND
          • commentpoppler-utils is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713003
          • commentpoppler-utils is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859018
        • AND
          • commentpoppler-glib is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713005
          • commentpoppler-glib is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859004
        • AND
          • commentpoppler is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713007
          • commentpoppler is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859016
        • AND
          • commentpoppler-qt5-devel is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713009
          • commentpoppler-qt5-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20192713010
        • AND
          • commentpoppler-qt5 is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713011
          • commentpoppler-qt5 is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20192713012
        • AND
          • commentpoppler-glib-devel is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713013
          • commentpoppler-glib-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859010
        • AND
          • commentpoppler-devel is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713015
          • commentpoppler-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859008
        • AND
          • commentpoppler-cpp-devel is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713017
          • commentpoppler-cpp-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20162580010
        • AND
          • commentpoppler-cpp is earlier than 0:0.66.0-11.el8_0.12
            ovaloval:com.redhat.rhsa:tst:20192713019
          • commentpoppler-cpp is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20162580008
    rhsa
    idRHSA-2019:2713
    released2019-09-12
    severityModerate
    titleRHSA-2019:2713: poppler security update (Moderate)
  • bugzilla
    id1753850
    titleCVE-2018-21009 poppler: integer overflow in Parser::makeStream in Parser.cc
    oval
    OR
    • commentRed Hat Enterprise Linux must be installed
      ovaloval:com.redhat.rhba:tst:20070304026
    • AND
      • commentRed Hat Enterprise Linux 7 is installed
        ovaloval:com.redhat.rhba:tst:20150364027
      • OR
        • AND
          • commentevince-nautilus is earlier than 0:3.28.2-9.el7
            ovaloval:com.redhat.rhsa:tst:20201074001
          • commentevince-nautilus is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20172388012
        • AND
          • commentevince-libs is earlier than 0:3.28.2-9.el7
            ovaloval:com.redhat.rhsa:tst:20201074003
          • commentevince-libs is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20110009002
        • AND
          • commentevince-dvi is earlier than 0:3.28.2-9.el7
            ovaloval:com.redhat.rhsa:tst:20201074005
          • commentevince-dvi is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20110009008
        • AND
          • commentevince is earlier than 0:3.28.2-9.el7
            ovaloval:com.redhat.rhsa:tst:20201074007
          • commentevince is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20110009004
        • AND
          • commentevince-devel is earlier than 0:3.28.2-9.el7
            ovaloval:com.redhat.rhsa:tst:20201074009
          • commentevince-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20110009006
        • AND
          • commentevince-browser-plugin is earlier than 0:3.28.2-9.el7
            ovaloval:com.redhat.rhsa:tst:20201074011
          • commentevince-browser-plugin is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20172388004
        • AND
          • commentpoppler-utils is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074013
          • commentpoppler-utils is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859018
        • AND
          • commentpoppler-qt is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074015
          • commentpoppler-qt is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859012
        • AND
          • commentpoppler-glib is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074017
          • commentpoppler-glib is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859004
        • AND
          • commentpoppler is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074019
          • commentpoppler is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859016
        • AND
          • commentpoppler-qt-devel is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074021
          • commentpoppler-qt-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859002
        • AND
          • commentpoppler-glib-devel is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074023
          • commentpoppler-glib-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859010
        • AND
          • commentpoppler-devel is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074025
          • commentpoppler-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20100859008
        • AND
          • commentpoppler-demos is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074027
          • commentpoppler-demos is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20162580006
        • AND
          • commentpoppler-cpp-devel is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074029
          • commentpoppler-cpp-devel is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20162580010
        • AND
          • commentpoppler-cpp is earlier than 0:0.26.5-42.el7
            ovaloval:com.redhat.rhsa:tst:20201074031
          • commentpoppler-cpp is signed with Red Hat redhatrelease2 key
            ovaloval:com.redhat.rhsa:tst:20162580008
    rhsa
    idRHSA-2020:1074
    released2020-03-31
    severityModerate
    titleRHSA-2020:1074: poppler and evince security update (Moderate)
rpms
  • poppler-0:0.66.0-11.el8_0.12
  • poppler-cpp-0:0.66.0-11.el8_0.12
  • poppler-cpp-debuginfo-0:0.66.0-11.el8_0.12
  • poppler-cpp-devel-0:0.66.0-11.el8_0.12
  • poppler-debuginfo-0:0.66.0-11.el8_0.12
  • poppler-debugsource-0:0.66.0-11.el8_0.12
  • poppler-devel-0:0.66.0-11.el8_0.12
  • poppler-glib-0:0.66.0-11.el8_0.12
  • poppler-glib-debuginfo-0:0.66.0-11.el8_0.12
  • poppler-glib-devel-0:0.66.0-11.el8_0.12
  • poppler-qt5-0:0.66.0-11.el8_0.12
  • poppler-qt5-debuginfo-0:0.66.0-11.el8_0.12
  • poppler-qt5-devel-0:0.66.0-11.el8_0.12
  • poppler-utils-0:0.66.0-11.el8_0.12
  • poppler-utils-debuginfo-0:0.66.0-11.el8_0.12
  • evince-0:3.28.2-9.el7
  • evince-browser-plugin-0:3.28.2-9.el7
  • evince-debuginfo-0:3.28.2-9.el7
  • evince-devel-0:3.28.2-9.el7
  • evince-dvi-0:3.28.2-9.el7
  • evince-libs-0:3.28.2-9.el7
  • evince-nautilus-0:3.28.2-9.el7
  • poppler-0:0.26.5-42.el7
  • poppler-cpp-0:0.26.5-42.el7
  • poppler-cpp-devel-0:0.26.5-42.el7
  • poppler-debuginfo-0:0.26.5-42.el7
  • poppler-demos-0:0.26.5-42.el7
  • poppler-devel-0:0.26.5-42.el7
  • poppler-glib-0:0.26.5-42.el7
  • poppler-glib-devel-0:0.26.5-42.el7
  • poppler-qt-0:0.26.5-42.el7
  • poppler-qt-devel-0:0.26.5-42.el7
  • poppler-utils-0:0.26.5-42.el7