Vulnerabilities > CVE-2018-5309 - Integer Overflow or Wraparound vulnerability in Podofo Project Podofo 0.9.5

047910
CVSS 4.3 - MEDIUM
Attack vector
NETWORK
Attack complexity
MEDIUM
Privileges required
NONE
Confidentiality impact
NONE
Integrity impact
NONE
Availability impact
PARTIAL
network
podofo-project
CWE-190
nessus

Summary

In PoDoFo 0.9.5, there is an integer overflow in the PdfObjectStreamParserObject::ReadObjectsFromStream function (base/PdfObjectStreamParserObject.cpp). Remote attackers could leverage this vulnerability to cause a denial-of-service via a crafted pdf file.

Vulnerable Configurations

Part Description Count
Application
Podofo_Project
1

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 familySuSE Local Security Checks
    NASL idOPENSUSE-2019-66.NASL
    descriptionThis update for podofo version 0.9.6 fixes the following issues : Security issues fixed : - CVE-2017-5852: Fix a infinite loop in PoDoFo::PdfPage::GetInheritedKeyFromObject (PdfPage.cpp) (boo#1023067) - CVE-2017-5854: Fix a NULL pointer dereference in PdfOutputStream.cpp (boo#1023070) - CVE-2017-5886: Fix a heap-based buffer overflow in PoDoFo::PdfTokenizer::GetNextToken (PdfTokenizer.cpp) (boo#1023380) - CVE-2017-6844: Fix a buffer overflow in PoDoFo::PdfParser::ReadXRefSubsection (PdfParser.cpp) (boo#1027782) - CVE-2017-6847: Fix a NULL pointer dereference in PoDoFo::PdfVariant::DelayedLoad (PdfVariant.h) (boo#1027778) - CVE-2017-7379: Fix a heap-based buffer overflow in PoDoFo::PdfSimpleEncoding::ConvertToEncoding (PdfEncoding.cpp) (boo#1032018) - CVE-2018-5296: Fix a denial of service in the ReadXRefSubsection function (boo#1075021) - CVE-2018-5309: Fix a integer overflow in the ReadObjectsFromStream function (boo#1075322) - CVE-2017-5853: Fix a signed integer overflow in PdfParser.cpp (boo#1023069) - CVE-2017-5855: Fix a NULL pointer dereference in the ReadXRefSubsection function (boo#1023071) - CVE-2017-6840: Fix a invalid memory read in the GetColorFromStack function (boo#1027787) - CVE-2017-6845: Fix a NULL pointer dereference in the SetNonStrokingColorSpace function (boo#1027779) - CVE-2017-7378: Fix a heap-based buffer overflow in the ExpandTabs function (boo#1032017) - CVE-2017-7380: Fix four NULL pointer dereferences (boo#1032019) - CVE-2017-8054: Fix a denial of service in the GetPageNodeFromArray function (boo#1035596) - CVE-2018-5295: Fix a integer overflow in the ParseStream function (boo#1075026) - CVE-2018-5308: Fix undefined behavior in the PdfMemoryOutputStream::Write function (boo#1075772) - CVE-2018-8001: Fix a heap overflow read vulnerability in the UnescapeName function (boo#1084894) - CVE-2017-7994, CVE-2017-8787: Fix a denial of service via a crafted PDF document (boo#1035534, boo#1037739)
    last seen2020-03-18
    modified2019-01-22
    plugin id121290
    published2019-01-22
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/121290
    titleopenSUSE Security Update : podofo (openSUSE-2019-66)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from openSUSE Security Update openSUSE-2019-66.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(121290);
      script_version("1.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/02/24");
    
      script_cve_id("CVE-2017-5852", "CVE-2017-5853", "CVE-2017-5854", "CVE-2017-5855", "CVE-2017-5886", "CVE-2017-6840", "CVE-2017-6844", "CVE-2017-6845", "CVE-2017-6847", "CVE-2017-7378", "CVE-2017-7379", "CVE-2017-7380", "CVE-2017-7994", "CVE-2017-8054", "CVE-2017-8787", "CVE-2018-5295", "CVE-2018-5296", "CVE-2018-5308", "CVE-2018-5309", "CVE-2018-8001");
    
      script_name(english:"openSUSE Security Update : podofo (openSUSE-2019-66)");
      script_summary(english:"Check for the openSUSE-2019-66 patch");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote openSUSE host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for podofo version 0.9.6 fixes the following issues :
    
    Security issues fixed :
    
      - CVE-2017-5852: Fix a infinite loop in
        PoDoFo::PdfPage::GetInheritedKeyFromObject (PdfPage.cpp)
        (boo#1023067)
    
      - CVE-2017-5854: Fix a NULL pointer dereference in
        PdfOutputStream.cpp (boo#1023070)
    
      - CVE-2017-5886: Fix a heap-based buffer overflow in
        PoDoFo::PdfTokenizer::GetNextToken (PdfTokenizer.cpp)
        (boo#1023380)
    
      - CVE-2017-6844: Fix a buffer overflow in
        PoDoFo::PdfParser::ReadXRefSubsection (PdfParser.cpp)
        (boo#1027782)
    
      - CVE-2017-6847: Fix a NULL pointer dereference in
        PoDoFo::PdfVariant::DelayedLoad (PdfVariant.h)
        (boo#1027778)
    
      - CVE-2017-7379: Fix a heap-based buffer overflow in
        PoDoFo::PdfSimpleEncoding::ConvertToEncoding
        (PdfEncoding.cpp) (boo#1032018)
    
      - CVE-2018-5296: Fix a denial of service in the
        ReadXRefSubsection function (boo#1075021)
    
      - CVE-2018-5309: Fix a integer overflow in the
        ReadObjectsFromStream function (boo#1075322)
    
      - CVE-2017-5853: Fix a signed integer overflow in
        PdfParser.cpp (boo#1023069)
    
      - CVE-2017-5855: Fix a NULL pointer dereference in the
        ReadXRefSubsection function (boo#1023071)
    
      - CVE-2017-6840: Fix a invalid memory read in the
        GetColorFromStack function (boo#1027787)
    
      - CVE-2017-6845: Fix a NULL pointer dereference in the
        SetNonStrokingColorSpace function (boo#1027779)
    
      - CVE-2017-7378: Fix a heap-based buffer overflow in the
        ExpandTabs function (boo#1032017)
    
      - CVE-2017-7380: Fix four NULL pointer dereferences
        (boo#1032019)
    
      - CVE-2017-8054: Fix a denial of service in the
        GetPageNodeFromArray function (boo#1035596)
    
      - CVE-2018-5295: Fix a integer overflow in the ParseStream
        function (boo#1075026)
    
      - CVE-2018-5308: Fix undefined behavior in the
        PdfMemoryOutputStream::Write function (boo#1075772)
    
      - CVE-2018-8001: Fix a heap overflow read vulnerability in
        the UnescapeName function (boo#1084894)
    
      - CVE-2017-7994, CVE-2017-8787: Fix a denial of service
        via a crafted PDF document (boo#1035534, boo#1037739)"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1023067"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1023069"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1023070"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1023071"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1023380"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1027778"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1027779"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1027782"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1027787"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1032017"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1032018"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1032019"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1035534"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1035596"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1037739"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1075021"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1075026"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1075322"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1075772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1084894"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected podofo packages."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2018-8001");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpodofo-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpodofo0_9_6");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:libpodofo0_9_6-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:podofo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:podofo-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:podofo-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.3");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/03/01");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/01/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/01/22");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      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 !~ "^(SUSE42\.3)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.3", 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:"SUSE42.3", reference:"libpodofo-devel-0.9.6-10.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libpodofo0_9_6-0.9.6-10.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"libpodofo0_9_6-debuginfo-0.9.6-10.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"podofo-0.9.6-10.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"podofo-debuginfo-0.9.6-10.3.1") ) flag++;
    if ( rpm_check(release:"SUSE42.3", reference:"podofo-debugsource-0.9.6-10.3.1") ) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "libpodofo-devel / libpodofo0_9_6 / libpodofo0_9_6-debuginfo / etc");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2019-0393-1.NASL
    descriptionThis update for podofo fixes the following issues : These security issues were fixed : CVE-2017-6845: The PoDoFo::PdfColor::operator function allowed remote attackers to cause a denial of service (NULL pointer dereference) via a crafted file (bsc#1027779). CVE-2018-5308: Properly validate memcpy arguments in the PdfMemoryOutputStream::Write function to prevent remote attackers from causing a denial-of-service or possibly have unspecified other impact via a crafted pdf file (bsc#1075772) CVE-2018-5295: Prevent integer overflow in the PdfXRefStreamParserObject::ParseStream function that allowed remote attackers to cause a denial-of-service via a crafted pdf file (bsc#1075026). CVE-2017-6845: The PoDoFo::PdfColor::operator function allowed remote attackers to cause a denial of service (NULL pointer dereference) via a crafted file (bsc#1027779). CVE-2018-5309: Prevent integer overflow in the PdfObjectStreamParserObject::ReadObjectsFromStream function that allowed remote attackers to cause a denial-of-service via a crafted pdf file (bsc#1075322). CVE-2018-5296: Prevent uncontrolled memory allocation in the PdfParser::ReadXRefSubsection function that allowed remote attackers to cause a denial-of-service via a crafted pdf file (bsc#1075021). CVE-2017-7381: Prevent NULL pointer dereference that allowed remote attackers to cause a denial of service via a crafted PDF document (bsc#1032020). CVE-2017-7382: Prevent NULL pointer dereference that allowed remote attackers to cause a denial of service via a crafted PDF document (bsc#1032021). CVE-2017-7383: Prevent NULL pointer dereference that allowed remote attackers to cause a denial of service via a crafted PDF document (bsc#1032022). CVE-2018-11256: Prevent NULL pointer dereference that allowed remote attackers to cause a denial of service via a crafted PDF document (bsc#1096889). CVE-2018-5783: Prevent uncontrolled memory allocation in the PoDoFo::PdfVecObjects::Reserve function that allowed remote attackers to cause a denial of service via a crafted pdf file (bsc#1076962). The update package also includes non-security fixes. See advisory for details. Note that Tenable Network Security has extracted the preceding description block directly from the SUSE security advisory. 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 id122229
    published2019-02-15
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/122229
    titleSUSE SLED12 Security Update : podofo (SUSE-SU-2019:0393-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2019:0393-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(122229);
      script_version("1.3");
      script_cvs_date("Date: 2020/02/12");
    
      script_cve_id("CVE-2017-6845", "CVE-2017-7381", "CVE-2017-7382", "CVE-2017-7383", "CVE-2017-8054", "CVE-2018-11256", "CVE-2018-5295", "CVE-2018-5296", "CVE-2018-5308", "CVE-2018-5309", "CVE-2018-5783");
    
      script_name(english:"SUSE SLED12 Security Update : podofo (SUSE-SU-2019:0393-1)");
      script_summary(english:"Checks rpm output for the updated packages.");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SUSE host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update for podofo fixes the following issues :
    
    These security issues were fixed :
    
    CVE-2017-6845: The PoDoFo::PdfColor::operator function allowed remote
    attackers to cause a denial of service (NULL pointer dereference) via
    a crafted file (bsc#1027779).
    
    CVE-2018-5308: Properly validate memcpy arguments in the
    PdfMemoryOutputStream::Write function to prevent remote attackers from
    causing a denial-of-service or possibly have unspecified other impact
    via a crafted pdf file (bsc#1075772)
    
    CVE-2018-5295: Prevent integer overflow in the
    PdfXRefStreamParserObject::ParseStream function that allowed remote
    attackers to cause a denial-of-service via a crafted pdf file
    (bsc#1075026).
    
    CVE-2017-6845: The PoDoFo::PdfColor::operator function allowed remote
    attackers to cause a denial of service (NULL pointer dereference) via
    a crafted file (bsc#1027779).
    
    CVE-2018-5309: Prevent integer overflow in the
    PdfObjectStreamParserObject::ReadObjectsFromStream function that
    allowed remote attackers to cause a denial-of-service via a crafted
    pdf file (bsc#1075322).
    
    CVE-2018-5296: Prevent uncontrolled memory allocation in the
    PdfParser::ReadXRefSubsection function that allowed remote attackers
    to cause a denial-of-service via a crafted pdf file (bsc#1075021).
    
    CVE-2017-7381: Prevent NULL pointer dereference that allowed remote
    attackers to cause a denial of service via a crafted PDF document
    (bsc#1032020).
    
    CVE-2017-7382: Prevent NULL pointer dereference that allowed remote
    attackers to cause a denial of service via a crafted PDF document
    (bsc#1032021).
    
    CVE-2017-7383: Prevent NULL pointer dereference that allowed remote
    attackers to cause a denial of service via a crafted PDF document
    (bsc#1032022).
    
    CVE-2018-11256: Prevent NULL pointer dereference that allowed remote
    attackers to cause a denial of service via a crafted PDF document
    (bsc#1096889).
    
    CVE-2018-5783: Prevent uncontrolled memory allocation in the
    PoDoFo::PdfVecObjects::Reserve function that allowed remote attackers
    to cause a denial of service via a crafted pdf file (bsc#1076962).
    
    The update package also includes non-security fixes. See advisory for
    details.
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the SUSE security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1027779"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1032020"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1032021"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1032022"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1075021"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1075026"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1075322"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1075772"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1076962"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1096889"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1096890"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-6845/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7381/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7382/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-7383/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-8054/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-11256/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-5295/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-5296/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-5308/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-5309/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2018-5783/"
      );
      # https://www.suse.com/support/update/announcement/2019/suse-su-20190393-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?9c49bc58"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "To install this SUSE Security Update use the SUSE recommended
    installation methods like YaST online_update or 'zypper patch'.
    
    Alternatively you can run the command listed for your product :
    
    SUSE Linux Enterprise Workstation Extension 12-SP4:zypper in -t patch
    SUSE-SLE-WE-12-SP4-2019-393=1
    
    SUSE Linux Enterprise Workstation Extension 12-SP3:zypper in -t patch
    SUSE-SLE-WE-12-SP3-2019-393=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP4:zypper in -t
    patch SUSE-SLE-SDK-12-SP4-2019-393=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP3:zypper in -t
    patch SUSE-SLE-SDK-12-SP3-2019-393=1
    
    SUSE Linux Enterprise Desktop 12-SP4:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP4-2019-393=1
    
    SUSE Linux Enterprise Desktop 12-SP3:zypper in -t patch
    SUSE-SLE-DESKTOP-12-SP3-2019-393=1"
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libpodofo0_9_2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:libpodofo0_9_2-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:podofo-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:podofo-debugsource");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2017/03/15");
      script_set_attribute(attribute:"patch_publication_date", value:"2019/02/14");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/02/15");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
    
      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, "SUSE");
    os_ver = pregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
    os_ver = os_ver[1];
    if (! preg(pattern:"^(SLED12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLED12", "SUSE " + os_ver);
    
    if (!get_kb_item("Host/SuSE/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if (cpu !~ "^i[3-6]86$" && "x86_64" >!< cpu && "s390x" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "SUSE " + os_ver, cpu);
    if (cpu >!< "x86_64") audit(AUDIT_ARCH_NOT, "x86_64", cpu);
    
    
    sp = get_kb_item("Host/SuSE/patchlevel");
    if (isnull(sp)) sp = "0";
    if (os_ver == "SLED12" && (! preg(pattern:"^(3|4)$", string:sp))) audit(AUDIT_OS_NOT, "SLED12 SP3/4", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libpodofo0_9_2-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"libpodofo0_9_2-debuginfo-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"podofo-debuginfo-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"4", cpu:"x86_64", reference:"podofo-debugsource-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"libpodofo0_9_2-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"libpodofo0_9_2-debuginfo-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"podofo-debuginfo-0.9.2-3.6.3")) flag++;
    if (rpm_check(release:"SLED12", sp:"3", cpu:"x86_64", reference:"podofo-debugsource-0.9.2-3.6.3")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "podofo");
    }