Vulnerabilities > CVE-2009-3938 - Improper Restriction of Operations Within the Bounds of A Memory Buffer vulnerability in Poppler 0.10.6/0.12.0

047910
CVSS 6.8 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
PARTIAL
Integrity impact
PARTIAL
Availability impact
PARTIAL
network
poppler
CWE-119
nessus

Summary

Buffer overflow in the ABWOutputDev::endWord function in poppler/ABWOutputDev.cc in Poppler (aka libpoppler) 0.10.6, 0.12.0, and possibly other versions, as used by the Abiword pdftoabw utility, allows user-assisted remote attackers to cause a denial of service and possibly execute arbitrary code via a crafted PDF file.

Vulnerable Configurations

Part Description Count
Application
Poppler
2

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Buffer Overflow via Environment Variables
    This attack pattern involves causing a buffer overflow through manipulation of environment variables. Once the attacker finds that they can modify an environment variable, they may try to overflow associated buffers. This attack leverages implicit trust often placed in environment variables.
  • Overflow Buffers
    Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an attacker. As a consequence, an attacker is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the attackers' choice.
  • Client-side Injection-induced Buffer Overflow
    This type of attack exploits a buffer overflow vulnerability in targeted client software through injection of malicious content from a custom-built hostile service.
  • Filter Failure through Buffer Overflow
    In this attack, the idea is to cause an active filter to fail by causing an oversized transaction. An attacker may try to feed overly long input strings to the program in an attempt to overwhelm the filter (by causing a buffer overflow) and hoping that the filter does not fail securely (i.e. the user input is let into the system unfiltered).
  • MIME Conversion
    An attacker exploits a weakness in the MIME conversion routine to cause a buffer overflow and gain control over the mail server machine. The MIME system is designed to allow various different information formats to be interpreted and sent via e-mail. Attack points exist when data are converted to MIME compatible format and back.

Nessus

  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_2_LIBPOPPLER-DEVEL-100111.NASL
    descriptionThis update of libpoppler5 fixes various security issues. CVE-2009-0791: Fix multiple integer overflows in
    last seen2020-06-01
    modified2020-06-02
    plugin id43856
    published2010-01-12
    reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/43856
    titleopenSUSE Security Update : libpoppler-devel (libpoppler-devel-1735)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update libpoppler-devel-1735.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(43856);
      script_version("1.9");
      script_cvs_date("Date: 2019/10/25 13:36:38");
    
      script_cve_id("CVE-2009-0791", "CVE-2009-3607", "CVE-2009-3608", "CVE-2009-3938", "CVE-2009-4035");
    
      script_name(english:"openSUSE Security Update : libpoppler-devel (libpoppler-devel-1735)");
      script_summary(english:"Check for the libpoppler-devel-1735 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update of libpoppler5 fixes various security issues.
    
    CVE-2009-0791: Fix multiple integer overflows in 'pdftops' filter that
    could be used by attackers to execute code.
    
    CVE-2009-3607: Integer overflow in the
    create_surface_from_thumbnail_data function in glib/poppler-page.cc in
    Poppler 0.x allows remote attackers to cause a denial of service
    (memory corruption) or possibly execute arbitrary code via a crafted
    PDF document that triggers a heap-based buffer overflow. NOTE: some of
    these details are obtained from third-party information. 
    
    CVE-2009-3608: Integer overflow in the ObjectStream::ObjectStream
    function in XRef.cc in Xpdf 3.x before 3.02pl4 and Poppler before
    0.12.1, as used in GPdf, kdegraphics KPDF, CUPS pdftops, and teTeX,
    might allow remote attackers to execute arbitrary code via a crafted
    PDF document that triggers a heap-based buffer overflow. 
    
    CVE-2009-3938: Buffer overflow in the ABWOutputDev::endWord function
    in poppler/ABWOutputDev.cc in Poppler (aka libpoppler) 0.10.6, 0.12.0,
    and possibly other versions, as used by the Abiword pdftoabw utility,
    allows user-assisted remote attackers to cause a denial of service and
    possibly execute arbitrary code via a crafted PDF file. 
    
    CVE-2009-4035: A indexing error in FoFiType1::parse() was fixed that
    could be used by attackers to corrupt memory and potentially execute
    code."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=507102"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=537171"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=543090"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=546393"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=556607"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=556876"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected libpoppler-devel packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:C/I:C/A:C");
      script_cwe_id(94, 119, 189);
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-glib-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-glib4");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-qt2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-qt3-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-qt4-3");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler-qt4-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpoppler5");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:poppler-tools");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:11.2");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2010/01/11");
      script_set_attribute(attribute:"plugin_publication_date", value:"2010/01/12");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2010-2019 Tenable Network Security, Inc.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/SuSE/release", "Host/SuSE/rpm-list", "Host/cpu");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("rpm.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    release = get_kb_item("Host/SuSE/release");
    if (isnull(release) || release =~ "^(SLED|SLES)") audit(AUDIT_OS_NOT, "openSUSE");
    if (release !~ "^(SUSE11\.2)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "11.2", release);
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    ourarch = get_kb_item("Host/cpu");
    if (!ourarch) audit(AUDIT_UNKNOWN_ARCH);
    if (ourarch !~ "^(i586|i686|x86_64)$") audit(AUDIT_ARCH_NOT, "i586 / i686 / x86_64", ourarch);
    
    flag = 0;
    
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-devel-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-glib-devel-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-glib4-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-qt2-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-qt3-devel-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-qt4-3-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler-qt4-devel-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"libpoppler5-0.12.0-3.7.1") ) flag++;
    if ( rpm_check(release:"SUSE11.2", reference:"poppler-tools-0.12.0-3.7.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:rpm_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libpoppler5");
    }
    
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-201310-03.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-201310-03 (Poppler: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in Poppler. Please review the CVE identifiers referenced below for details. Impact : A remote attacker could entice a user to open a specially crafted PDF file, possibly resulting in execution of arbitrary code with the privileges of the process or a Denial of Service condition. Workaround : There is no known workaround at this time.
    last seen2020-06-01
    modified2020-06-02
    plugin id70309
    published2013-10-07
    reporterThis script is Copyright (C) 2013-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/70309
    titleGLSA-201310-03 : Poppler: Multiple vulnerabilities
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_LIBPOPPLER-DEVEL-091221.NASL
    descriptionThis update of libpoppler4 fixes various security issues. - Fix multiple integer overflows in
    last seen2020-06-01
    modified2020-06-02
    plugin id43620
    published2010-01-03
    reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/43620
    titleSuSE 11 Security Update : libpoppler (SAT Patch Number 1731)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_0_LIBPOPPLER-DEVEL-091223.NASL
    descriptionThis update of libpoppler3 fixes various security issues. CVE-2009-0791: Fix multiple integer overflows in
    last seen2020-06-01
    modified2020-06-02
    plugin id43616
    published2010-01-03
    reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/43616
    titleopenSUSE Security Update : libpoppler-devel (libpoppler-devel-1740)
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-1941.NASL
    descriptionSeveral integer overflows, buffer overflows and memory allocation errors were discovered in the Poppler PDF rendering library, which may lead to denial of service or the execution of arbitrary code if a user is tricked into opening a malformed PDF document. An update for the old stable distribution (etch) will be issued soon as version 0.4.5-5.1etch4.
    last seen2020-06-01
    modified2020-06-02
    plugin id44806
    published2010-02-24
    reporterThis script is Copyright (C) 2010-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/44806
    titleDebian DSA-1941-1 : poppler - several vulnerabilities
  • NASL familyMandriva Local Security Checks
    NASL idMANDRIVA_MDVSA-2010-055.NASL
    descriptionAn out-of-bounds reading flaw in the JBIG2 decoder allows remote attackers to cause a denial of service (crash) via a crafted PDF file (CVE-2009-0799). Multiple input validation flaws in the JBIG2 decoder allows remote attackers to execute arbitrary code via a crafted PDF file (CVE-2009-0800). An integer overflow in the JBIG2 decoder allows remote attackers to execute arbitrary code via a crafted PDF file (CVE-2009-1179). A free of invalid data flaw in the JBIG2 decoder allows remote attackers to execute arbitrary code via a crafted PDF (CVE-2009-1180). A NULL pointer dereference flaw in the JBIG2 decoder allows remote attackers to cause denial of service (crash) via a crafted PDF file (CVE-2009-1181). Multiple buffer overflows in the JBIG2 MMR decoder allows remote attackers to cause denial of service or to execute arbitrary code via a crafted PDF file (CVE-2009-1182, CVE-2009-1183). An integer overflow in the JBIG2 decoding feature allows remote attackers to cause a denial of service (crash) and possibly execute arbitrary code via vectors related to CairoOutputDev (CVE-2009-1187). An integer overflow in the JBIG2 decoding feature allows remote attackers to execute arbitrary code or cause a denial of service (application crash) via a crafted PDF document (CVE-2009-1188). Integer overflow in the SplashBitmap::SplashBitmap function in Xpdf 3.x before 3.02pl4 and Poppler before 0.12.1 might allow remote attackers to execute arbitrary code via a crafted PDF document that triggers a heap-based buffer overflow. NOTE: some of these details are obtained from third-party information. NOTE: this issue reportedly exists because of an incomplete fix for CVE-2009-1188 (CVE-2009-3603). The Splash::drawImage function in Splash.cc in Xpdf 2.x and 3.x before 3.02pl4, and Poppler 0.x, as used in GPdf and kdegraphics KPDF, does not properly allocate memory, which allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted PDF document that triggers a NULL pointer dereference or a heap-based buffer overflow (CVE-2009-3604). Multiple integer overflows allow remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted PDF file, related to (1) glib/poppler-page.cc; (2) ArthurOutputDev.cc, (3) CairoOutputDev.cc, (4) GfxState.cc, (5) JBIG2Stream.cc, (6) PSOutputDev.cc, and (7) SplashOutputDev.cc in poppler/; and (8) SplashBitmap.cc, (9) Splash.cc, and (10) SplashFTFont.cc in splash/. NOTE: this may overlap CVE-2009-0791 (CVE-2009-3605). Integer overflow in the PSOutputDev::doImageL1Sep function in Xpdf before 3.02pl4, and Poppler 0.x, as used in kdegraphics KPDF, might allow remote attackers to execute arbitrary code via a crafted PDF document that triggers a heap-based buffer overflow (CVE-2009-3606). Integer overflow in the create_surface_from_thumbnail_data function in glib/poppler-page.cc allows remote attackers to cause a denial of service (memory corruption) or possibly execute arbitrary code via a crafted PDF document that triggers a heap-based buffer overflow. NOTE: some of these details are obtained from third-party information (CVE-2009-3607). Integer overflow in the ObjectStream::ObjectStream function in XRef.cc in Xpdf 3.x before 3.02pl4 and Poppler before 0.12.1, as used in GPdf, kdegraphics KPDF, CUPS pdftops, and teTeX, might allow remote attackers to execute arbitrary code via a crafted PDF document that triggers a heap-based buffer overflow (CVE-2009-3608). Integer overflow in the ImageStream::ImageStream function in Stream.cc in Xpdf before 3.02pl4 and Poppler before 0.12.1, as used in GPdf, kdegraphics KPDF, and CUPS pdftops, allows remote attackers to cause a denial of service (application crash) via a crafted PDF document that triggers a NULL pointer dereference or buffer over-read (CVE-2009-3609). Buffer overflow in the ABWOutputDev::endWord function in poppler/ABWOutputDev.cc as used by the Abiword pdftoabw utility, allows user-assisted remote attackers to cause a denial of service and possibly execute arbitrary code via a crafted PDF file (CVE-2009-3938). This update provides fixes for that vulnerabilities.
    last seen2020-06-01
    modified2020-06-02
    plugin id44995
    published2010-03-08
    reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/44995
    titleMandriva Linux Security Advisory : poppler (MDVSA-2010:055)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_1_LIBPOPPLER-DEVEL-091222.NASL
    descriptionThis update of poppler fixes several security issues : This update of libpoppler4 fixes various security issues. CVE-2009-0791: Fix multiple integer overflows in
    last seen2020-06-01
    modified2020-06-02
    plugin id43617
    published2010-01-03
    reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/43617
    titleopenSUSE Security Update : libpoppler-devel (libpoppler-devel-1741)
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_2_LIBPOPPLER-DEVEL-091222.NASL
    descriptionThis update of libpoppler5 fixes various security issues. CVE-2009-0791: Fix multiple integer overflows in
    last seen2020-06-01
    modified2020-06-02
    plugin id43618
    published2010-01-03
    reporterThis script is Copyright (C) 2010-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/43618
    titleSuSE 11.2 Security Update: libpoppler-devel (2009-12-22)

Statements

contributorTomas Hoger
lastmodified2009-11-23
organizationRed Hat
statementNot vulnerable. This issue did not affect the versions of poppler as shipped with Red Hat Enterprise Linux 5.