Vulnerabilities > CVE-2016-7480 - Improper Restriction of Operations within the Bounds of a Memory Buffer vulnerability in multiple products

047910
CVSS 9.8 - CRITICAL
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
NONE
Confidentiality impact
HIGH
Integrity impact
HIGH
Availability impact
HIGH
network
low complexity
php
netapp
CWE-119
critical
nessus

Summary

The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP before 7.0.12 does not verify that a key is an object, which allows remote attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data.

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 familyAmazon Linux Local Security Checks
    NASL idALA_ALAS-2017-788.NASL
    descriptionThe SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP before 7.0.12 does not verify that a key is an object, which allows remote attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data. (CVE-2016-7480) Use-after-free vulnerability in the CURLFile implementation in ext/curl/curl_file.c in PHP 7.x before 7.0.12 allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data that is mishandled during __wakeup processing. (CVE-2016-9137) Stack consumption vulnerability in the gdImageFillToBorder function in gd.c in the GD Graphics Library (aka libgd) before 2.2.2, as used in PHP 7.x before 7.0.13, allows remote attackers to cause a denial of service (segmentation violation) via a crafted imagefilltoborder call that triggers use of a negative color value. (CVE-2016-9933) ext/wddx/wddx.c in PHP 7.x before 7.0.13 allows remote attackers to cause a denial of service (NULL pointer dereference) via crafted serialized data in a wddxPacket XML document, as demonstrated by a PDORow string. (CVE-2016-9934) The php_wddx_push_element function in ext/wddx/wddx.c in PHP 7.x before 7.0.14 allows remote attackers to cause a denial of service (out-of-bounds read and memory corruption) or possibly have unspecified other impact via an empty boolean element in a wddxPacket XML document. (CVE-2016-9935) The unserialize implementation in ext/standard/var.c in PHP 7.x before 7.0.14 allows remote attackers to cause a denial of service (use-after-free) or possibly have unspecified other impact via crafted serialized data. This vulnerability exists because of an incomplete fix for CVE-2015-6834 . (CVE-2016-9936)
    last seen2020-06-01
    modified2020-06-02
    plugin id96806
    published2017-01-27
    reporterThis script is Copyright (C) 2017-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/96806
    titleAmazon Linux AMI : php70 (ALAS-2017-788)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Amazon Linux AMI Security Advisory ALAS-2017-788.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(96806);
      script_version("3.2");
      script_cvs_date("Date: 2018/04/18 15:09:36");
    
      script_cve_id("CVE-2016-7480", "CVE-2016-9137", "CVE-2016-9933", "CVE-2016-9934", "CVE-2016-9935", "CVE-2016-9936");
      script_xref(name:"ALAS", value:"2017-788");
    
      script_name(english:"Amazon Linux AMI : php70 (ALAS-2017-788)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote Amazon Linux AMI host is missing a security update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The SplObjectStorage unserialize implementation in
    ext/spl/spl_observer.c in PHP before 7.0.12 does not verify that a key
    is an object, which allows remote attackers to execute arbitrary code
    or cause a denial of service (uninitialized memory access) via crafted
    serialized data. (CVE-2016-7480)
    
    Use-after-free vulnerability in the CURLFile implementation in
    ext/curl/curl_file.c in PHP 7.x before 7.0.12 allows remote attackers
    to cause a denial of service or possibly have unspecified other impact
    via crafted serialized data that is mishandled during __wakeup
    processing. (CVE-2016-9137)
    
    Stack consumption vulnerability in the gdImageFillToBorder function in
    gd.c in the GD Graphics Library (aka libgd) before 2.2.2, as used in
    PHP 7.x before 7.0.13, allows remote attackers to cause a denial of
    service (segmentation violation) via a crafted imagefilltoborder call
    that triggers use of a negative color value. (CVE-2016-9933)
    
    ext/wddx/wddx.c in PHP 7.x before 7.0.13 allows remote attackers to
    cause a denial of service (NULL pointer dereference) via crafted
    serialized data in a wddxPacket XML document, as demonstrated by a
    PDORow string. (CVE-2016-9934)
    
    The php_wddx_push_element function in ext/wddx/wddx.c in PHP 7.x
    before 7.0.14 allows remote attackers to cause a denial of service
    (out-of-bounds read and memory corruption) or possibly have
    unspecified other impact via an empty boolean element in a wddxPacket
    XML document. (CVE-2016-9935)
    
    The unserialize implementation in ext/standard/var.c in PHP 7.x before
    7.0.14 allows remote attackers to cause a denial of service
    (use-after-free) or possibly have unspecified other impact via crafted
    serialized data. This vulnerability exists because of an incomplete
    fix for CVE-2015-6834 . (CVE-2016-9936)"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://alas.aws.amazon.com/ALAS-2017-788.html"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Run 'yum update php70' to update your system."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-bcmath");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-cli");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-common");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-dba");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-dbg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-embedded");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-enchant");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-fpm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-gd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-gmp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-imap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-intl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-json");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-ldap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-mbstring");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-mcrypt");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-mysqlnd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-opcache");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-pdo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-pdo-dblib");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-pgsql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-process");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-pspell");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-recode");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-snmp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-soap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-tidy");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-xml");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-xmlrpc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:php70-zip");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:amazon:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/01/26");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/01/27");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2018 Tenable Network Security, Inc.");
      script_family(english:"Amazon Linux Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/AmazonLinux/release", "Host/AmazonLinux/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/AmazonLinux/release");
    if (isnull(release) || !strlen(release)) audit(AUDIT_OS_NOT, "Amazon Linux");
    os_ver = pregmatch(pattern: "^AL(A|\d)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "Amazon Linux");
    os_ver = os_ver[1];
    if (os_ver != "A")
    {
      if (os_ver == 'A') os_ver = 'AMI';
      audit(AUDIT_OS_NOT, "Amazon Linux AMI", "Amazon Linux " + os_ver);
    }
    
    if (!get_kb_item("Host/AmazonLinux/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    if (rpm_check(release:"ALA", reference:"php70-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-bcmath-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-cli-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-common-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-dba-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-dbg-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-debuginfo-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-devel-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-embedded-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-enchant-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-fpm-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-gd-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-gmp-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-imap-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-intl-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-json-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-ldap-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-mbstring-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-mcrypt-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-mysqlnd-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-odbc-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-opcache-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-pdo-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-pdo-dblib-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-pgsql-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-process-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-pspell-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-recode-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-snmp-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-soap-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-tidy-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-xml-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-xmlrpc-7.0.14-1.20.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"php70-zip-7.0.14-1.20.amzn1")) 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, "php70 / php70-bcmath / php70-cli / php70-common / php70-dba / etc");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2649.NASL
    descriptionAccording to the versions of the php packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - ** DISPUTED ** Integer overflow in the php_raw_url_encode function in ext/standard/url.c in PHP before 5.5.34, 5.6.x before 5.6.20, and 7.x before 7.0.5 allows remote attackers to cause a denial of service (application crash) via a long string to the rawurlencode function. NOTE: the vendor says
    last seen2020-05-08
    modified2019-12-18
    plugin id132184
    published2019-12-18
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/132184
    titleEulerOS 2.0 SP3 : php (EulerOS-SA-2019-2649)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(132184);
      script_version("1.5");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2011-4718",
        "CVE-2014-9767",
        "CVE-2014-9912",
        "CVE-2015-4116",
        "CVE-2015-5589",
        "CVE-2015-6831",
        "CVE-2015-6832",
        "CVE-2015-6833",
        "CVE-2015-7803",
        "CVE-2015-7804",
        "CVE-2015-8835",
        "CVE-2015-8866",
        "CVE-2015-8874",
        "CVE-2015-8879",
        "CVE-2015-8935",
        "CVE-2016-10158",
        "CVE-2016-10159",
        "CVE-2016-10161",
        "CVE-2016-10397",
        "CVE-2016-2554",
        "CVE-2016-3141",
        "CVE-2016-3142",
        "CVE-2016-3185",
        "CVE-2016-4070",
        "CVE-2016-4539",
        "CVE-2016-4540",
        "CVE-2016-4541",
        "CVE-2016-4542",
        "CVE-2016-4543",
        "CVE-2016-5093",
        "CVE-2016-5094",
        "CVE-2016-6288",
        "CVE-2016-6291",
        "CVE-2016-6292",
        "CVE-2016-6294",
        "CVE-2016-7124",
        "CVE-2016-7125",
        "CVE-2016-7128",
        "CVE-2016-7411",
        "CVE-2016-7412",
        "CVE-2016-7414",
        "CVE-2016-7418",
        "CVE-2016-7480",
        "CVE-2016-9934",
        "CVE-2016-9935",
        "CVE-2017-11143",
        "CVE-2017-11144",
        "CVE-2017-11147",
        "CVE-2017-11628",
        "CVE-2017-12933",
        "CVE-2017-16642",
        "CVE-2017-7272",
        "CVE-2017-9224",
        "CVE-2017-9226",
        "CVE-2017-9227",
        "CVE-2017-9228",
        "CVE-2017-9229",
        "CVE-2018-10545",
        "CVE-2018-10547",
        "CVE-2018-14851",
        "CVE-2018-17082",
        "CVE-2018-5711",
        "CVE-2018-5712",
        "CVE-2019-11043"
      );
      script_bugtraq_id(
        61929,
        75974
      );
    
      script_name(english:"EulerOS 2.0 SP3 : php (EulerOS-SA-2019-2649)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the php packages installed, the EulerOS
    installation on the remote host is affected by the following
    vulnerabilities :
    
      - ** DISPUTED ** Integer overflow in the
        php_raw_url_encode function in ext/standard/url.c in
        PHP before 5.5.34, 5.6.x before 5.6.20, and 7.x before
        7.0.5 allows remote attackers to cause a denial of
        service (application crash) via a long string to the
        rawurlencode function. NOTE: the vendor says 'Not sure
        if this qualifies as security issue (probably
        not).'(CVE-2016-4070)
    
      - An issue was discovered in ext/phar/phar_object.c in
        PHP before 5.6.36, 7.0.x before 7.0.30, 7.1.x before
        7.1.17, and 7.2.x before 7.2.5. There is Reflected XSS
        on the PHAR 403 and 404 error pages via request data of
        a request for a .phar file. NOTE: this vulnerability
        exists because of an incomplete fix for
        CVE-2018-5712.(CVE-2018-10547)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A heap out-of-bounds write occurs in
        bitset_set_range() during regular expression
        compilation due to an uninitialized variable from an
        incorrect state transition. An incorrect state
        transition in parse_char_class() could create an
        execution path that leaves a critical local variable
        uninitialized until it's used as an index, resulting in
        an out-of-bounds write memory
        corruption.(CVE-2017-9228)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A heap out-of-bounds write or read
        occurs in next_state_val() during regular expression
        compilation. Octal numbers larger than 0xff are not
        handled correctly in fetch_token() and
        fetch_token_in_cc(). A malformed regular expression
        containing an octal number in the form of '\700' would
        produce an invalid code point value larger than 0xff in
        next_state_val(), resulting in an out-of-bounds write
        memory corruption.(CVE-2017-9226)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A SIGSEGV occurs in
        left_adjust_char_head() during regular expression
        compilation. Invalid handling of reg->dmax in
        forward_search_range() could result in an invalid
        pointer dereference, normally as an immediate
        denial-of-service condition.(CVE-2017-9229)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A stack out-of-bounds read occurs in
        match_at() during regular expression searching. A
        logical error involving order of validation and access
        in match_at() could result in an out-of-bounds read
        from a stack buffer.(CVE-2017-9224)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A stack out-of-bounds read occurs in
        mbc_enc_len() during regular expression searching.
        Invalid handling of reg->dmin in forward_search_range()
        could result in an invalid pointer dereference, as an
        out-of-bounds read from a stack buffer.(CVE-2017-9227)
    
      - An issue was discovered in PHP before 5.6.33, 7.0.x
        before 7.0.27, 7.1.x before 7.1.13, and 7.2.x before
        7.2.1. There is Reflected XSS on the PHAR 404 error
        page via the URI of a request for a .phar
        file.(CVE-2018-5712)
    
      - An issue was discovered in PHP before 5.6.35, 7.0.x
        before 7.0.29, 7.1.x before 7.1.16, and 7.2.x before
        7.2.4. Dumpable FPM child processes allow bypassing
        opcache access controls because fpm_unix.c makes a
        PR_SET_DUMPABLE prctl call, allowing one user (in a
        multiuser environment) to obtain sensitive information
        from the process memory of a second user's PHP
        applications by running gcore on the PID of the PHP-FPM
        worker process.(CVE-2018-10545)
    
      - Directory traversal vulnerability in the PharData class
        in PHP before 5.4.44, 5.5.x before 5.5.28, and 5.6.x
        before 5.6.12 allows remote attackers to write to
        arbitrary files via a .. (dot dot) in a ZIP archive
        entry that is mishandled during an extractTo
        call.(CVE-2015-6833)
    
      - Directory traversal vulnerability in the
        ZipArchive::extractTo function in ext/zip/php_zip.c in
        PHP before 5.4.45, 5.5.x before 5.5.29, and 5.6.x
        before 5.6.13 and ext/zip/ext_zip.cpp in HHVM before
        3.12.1 allows remote attackers to create arbitrary
        empty directories via a crafted ZIP
        archive.(CVE-2014-9767)
    
      - exif_process_IFD_in_MAKERNOTE in ext/exif/exif.c in PHP
        before 5.6.37, 7.0.x before 7.0.31, 7.1.x before
        7.1.20, and 7.2.x before 7.2.8 allows remote attackers
        to cause a denial of service (out-of-bounds read and
        application crash) via a crafted JPEG
        file.(CVE-2018-14851)
    
      - ext/libxml/libxml.c in PHP before 5.5.22 and 5.6.x
        before 5.6.6, when PHP-FPM is used, does not isolate
        each thread from libxml_disable_entity_loader changes
        in other threads, which allows remote attackers to
        conduct XML External Entity (XXE) and XML Entity
        Expansion (XEE) attacks via a crafted XML document, a
        related issue to CVE-2015-5161.(CVE-2015-8866)
    
      - ext/mysqlnd/mysqlnd_wireprotocol.c in PHP before 5.6.26
        and 7.x before 7.0.11 does not verify that a BIT field
        has the UNSIGNED_FLAG flag, which allows remote MySQL
        servers to cause a denial of service (heap-based buffer
        overflow) or possibly have unspecified other impact via
        crafted field metadata.(CVE-2016-7412)
    
      - ext/session/session.c in PHP before 5.6.25 and 7.x
        before 7.0.10 skips invalid session names in a way that
        triggers incorrect parsing, which allows remote
        attackers to inject arbitrary-type session data by
        leveraging control of a session name, as demonstrated
        by object injection.(CVE-2016-7125)
    
      - ext/standard/var_unserializer.c in PHP before 5.6.25
        and 7.x before 7.0.10 mishandles certain invalid
        objects, which allows remote attackers to cause a
        denial of service or possibly have unspecified other
        impact via crafted serialized data that leads to a (1)
        __destruct call or (2) magic method
        call.(CVE-2016-7124)
    
      - ext/standard/var_unserializer.re in PHP before 5.6.26
        mishandles object-deserialization failures, which
        allows remote attackers to cause a denial of service
        (memory corruption) or possibly have unspecified other
        impact via an unserialize call that references a
        partially constructed object.(CVE-2016-7411)
    
      - ext/wddx/wddx.c in PHP before 5.6.28 and 7.x before
        7.0.13 allows remote attackers to cause a denial of
        service (NULL pointer dereference) via crafted
        serialized data in a wddxPacket XML document, as
        demonstrated by a PDORow string.(CVE-2016-9934)
    
      - gd_gif_in.c in the GD Graphics Library (aka libgd), as
        used in PHP before 5.6.33, 7.0.x before 7.0.27, 7.1.x
        before 7.1.13, and 7.2.x before 7.2.1, has an integer
        signedness error that leads to an infinite loop via a
        crafted GIF file, as demonstrated by a call to the
        imagecreatefromgif or imagecreatefromstring PHP
        function. This is related to GetCode_ and
        gdImageCreateFromGifCtx.(CVE-2018-5711)
    
      - In PHP before 5.6.28 and 7.x before 7.0.13, incorrect
        handling of various URI components in the URL parser
        could be used by attackers to bypass hostname-specific
        URL checks, as demonstrated by
        evil.example.com:80#@good.example.com/ and
        evil.example.com:[email protected]/ inputs to the
        parse_url function (implemented in the php_url_parse_ex
        function in ext/standard/url.c).(CVE-2016-10397)
    
      - In PHP before 5.6.30 and 7.x before 7.0.15, the PHAR
        archive handler could be used by attackers supplying
        malicious archive files to crash the PHP interpreter or
        potentially disclose information due to a buffer
        over-read in the phar_parse_pharfile function in
        ext/phar/phar.c.(CVE-2017-11147)
    
      - In PHP before 5.6.31, 7.x before 7.0.21, and 7.1.x
        before 7.1.7, a stack-based buffer overflow in the
        zend_ini_do_op() function in Zend/zend_ini_parser.c
        could cause a denial of service or potentially allow
        executing code. NOTE: this is only relevant for PHP
        applications that accept untrusted input (instead of
        the system's php.ini file) for the parse_ini_string or
        parse_ini_file function, e.g., a web application for
        syntax validation of php.ini
        directives.(CVE-2017-11628)
    
      - In PHP before 5.6.31, 7.x before 7.0.21, and 7.1.x
        before 7.1.7, the openssl extension PEM sealing code
        did not check the return value of the OpenSSL sealing
        function, which could lead to a crash of the PHP
        interpreter, related to an interpretation conflict for
        a negative number in ext/openssl/openssl.c, and an
        OpenSSL documentation omission.(CVE-2017-11144)
    
      - In PHP before 5.6.31, an invalid free in the WDDX
        deserialization of boolean parameters could be used by
        attackers able to inject XML for deserialization to
        crash the PHP interpreter, related to an invalid free
        for an empty boolean element in
        ext/wddx/wddx.c.(CVE-2017-11143)
    
      - In PHP before 5.6.32, 7.x before 7.0.25, and 7.1.x
        before 7.1.11, an error in the date extension's
        timelib_meridian handling of 'front of' and 'back of'
        directives could be used by attackers able to supply
        date strings to leak information from the interpreter,
        related to ext/date/lib/parse_date.c out-of-bounds
        reads affecting the php_parse_date function. NOTE: this
        is a different issue than
        CVE-2017-11145.(CVE-2017-16642)
    
      - In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24
        and 7.3.x below 7.3.11 in certain configurations of FPM
        setup it is possible to cause FPM module to write past
        allocated buffers into the space reserved for FCGI
        protocol data, thus opening the possibility of remote
        code execution.(CVE-2019-11043)
    
      - Integer overflow in the phar_parse_pharfile function in
        ext/phar/phar.c in PHP before 5.6.30 and 7.0.x before
        7.0.15 allows remote attackers to cause a denial of
        service (memory consumption or application crash) via a
        truncated manifest entry in a PHAR
        archive.(CVE-2016-10159)
    
      - Integer overflow in the php_html_entities function in
        ext/standard/html.c in PHP before 5.5.36 and 5.6.x
        before 5.6.22 allows remote attackers to cause a denial
        of service or possibly have unspecified other impact by
        triggering a large output string from the
        htmlspecialchars function.(CVE-2016-5094)
    
      - Multiple use-after-free vulnerabilities in SPL in PHP
        before 5.4.44, 5.5.x before 5.5.28, and 5.6.x before
        5.6.12 allow remote attackers to execute arbitrary code
        via vectors involving (1) ArrayObject, (2)
        SplObjectStorage, and (3) SplDoublyLinkedList, which
        are mishandled during unserialization.(CVE-2015-6831)
    
      - Off-by-one error in the phar_parse_zipfile function in
        ext/phar/zip.c in PHP before 5.5.30 and 5.6.x before
        5.6.14 allows remote attackers to cause a denial of
        service (uninitialized pointer dereference and
        application crash) by including the / filename in a
        .zip PHAR archive.(CVE-2015-7804)
    
      - PHP through 7.1.11 enables potential SSRF in
        applications that accept an fsockopen or pfsockopen
        hostname argument with an expectation that the port
        number is constrained. Because a :port syntax is
        recognized, fsockopen will use the port number that is
        specified in the hostname argument, instead of the port
        number in the second argument of the
        function.(CVE-2017-7272)
    
      - Session fixation vulnerability in the Sessions
        subsystem in PHP before 5.5.2 allows remote attackers
        to hijack web sessions by specifying a session
        ID.(CVE-2011-4718)
    
      - Stack consumption vulnerability in GD in PHP before
        5.6.12 allows remote attackers to cause a denial of
        service via a crafted imagefilltoborder
        call.(CVE-2015-8874)
    
      - Stack-based buffer overflow in ext/phar/tar.c in PHP
        before 5.5.32, 5.6.x before 5.6.18, and 7.x before
        7.0.3 allows remote attackers to cause a denial of
        service (application crash) or possibly have
        unspecified other impact via a crafted TAR
        archive.(CVE-2016-2554)
    
      - The Apache2 component in PHP before 5.6.38, 7.0.x
        before 7.0.32, 7.1.x before 7.1.22, and 7.2.x before
        7.2.10 allows XSS via the body of a 'Transfer-Encoding:
        chunked' request, because the bucket brigade is
        mishandled in the php_handler function in
        sapi/apache2handler/sapi_apache2.c.(CVE-2018-17082)
    
      - The exif_convert_any_to_int function in ext/exif/exif.c
        in PHP before 5.6.30, 7.0.x before 7.0.15, and 7.1.x
        before 7.1.1 allows remote attackers to cause a denial
        of service (application crash) via crafted EXIF data
        that triggers an attempt to divide the minimum
        representable negative integer by -1.(CVE-2016-10158)
    
      - The exif_process_IFD_in_JPEG function in
        ext/exif/exif.c in PHP before 5.5.35, 5.6.x before
        5.6.21, and 7.x before 7.0.6 does not validate IFD
        sizes, which allows remote attackers to cause a denial
        of service (out-of-bounds read) or possibly have
        unspecified other impact via crafted header
        data.(CVE-2016-4543)
    
      - The exif_process_IFD_in_MAKERNOTE function in
        ext/exif/exif.c in PHP before 5.5.38, 5.6.x before
        5.6.24, and 7.x before 7.0.9 allows remote attackers to
        cause a denial of service (out-of-bounds array access
        and memory corruption), obtain sensitive information
        from process memory, or possibly have unspecified other
        impact via a crafted JPEG image.(CVE-2016-6291)
    
      - The exif_process_IFD_in_TIFF function in
        ext/exif/exif.c in PHP before 5.6.25 and 7.x before
        7.0.10 mishandles the case of a thumbnail offset that
        exceeds the file size, which allows remote attackers to
        obtain sensitive information from process memory via a
        crafted TIFF image.(CVE-2016-7128)
    
      - The exif_process_IFD_TAG function in ext/exif/exif.c in
        PHP before 5.5.35, 5.6.x before 5.6.21, and 7.x before
        7.0.6 does not properly construct spprintf arguments,
        which allows remote attackers to cause a denial of
        service (out-of-bounds read) or possibly have
        unspecified other impact via crafted header
        data.(CVE-2016-4542)
    
      - The exif_process_user_comment function in
        ext/exif/exif.c in PHP before 5.5.38, 5.6.x before
        5.6.24, and 7.x before 7.0.9 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash) via a crafted JPEG
        image.(CVE-2016-6292)
    
      - The finish_nested_data function in
        ext/standard/var_unserializer.re in PHP before 5.6.31,
        7.0.x before 7.0.21, and 7.1.x before 7.1.7 is prone to
        a buffer over-read while unserializing untrusted data.
        Exploitation of this issue can have an unspecified
        impact on the integrity of PHP.(CVE-2017-12933)
    
      - The get_icu_disp_value_src_php function in
        ext/intl/locale/locale_methods.c in PHP before 5.3.29,
        5.4.x before 5.4.30, and 5.5.x before 5.5.14 does not
        properly restrict calls to the ICU uresbund.cpp
        component, which allows remote attackers to cause a
        denial of service (buffer overflow) or possibly have
        unspecified other impact via a locale_get_display_name
        call with a long first argument.(CVE-2014-9912)
    
      - The get_icu_value_internal function in
        ext/intl/locale/locale_methods.c in PHP before 5.5.36,
        5.6.x before 5.6.22, and 7.x before 7.0.7 does not
        ensure the presence of a '\0' character, which allows
        remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a crafted locale_get_primary_language
        call.(CVE-2016-5093)
    
      - The grapheme_stripos function in
        ext/intl/grapheme/grapheme_string.c in PHP before
        5.5.35, 5.6.x before 5.6.21, and 7.x before 7.0.6
        allows remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a negative offset.(CVE-2016-4540)
    
      - The grapheme_strpos function in
        ext/intl/grapheme/grapheme_string.c in PHP before
        5.5.35, 5.6.x before 5.6.21, and 7.x before 7.0.6
        allows remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a negative offset.(CVE-2016-4541)
    
      - The locale_accept_from_http function in
        ext/intl/locale/locale_methods.c in PHP before 5.5.38,
        5.6.x before 5.6.24, and 7.x before 7.0.9 does not
        properly restrict calls to the ICU
        uloc_acceptLanguageFromHTTP function, which allows
        remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a call with a long argument.(CVE-2016-6294)
    
      - The make_http_soap_request function in
        ext/soap/php_http.c in PHP before 5.4.44, 5.5.x before
        5.5.28, 5.6.x before 5.6.12, and 7.x before 7.0.4
        allows remote attackers to obtain sensitive information
        from process memory or cause a denial of service (type
        confusion and application crash) via crafted serialized
        _cookies data, related to the SoapClient::__call method
        in ext/soap/soap.c.(CVE-2016-3185)
    
      - The make_http_soap_request function in
        ext/soap/php_http.c in PHP before 5.4.44, 5.5.x before
        5.5.28, and 5.6.x before 5.6.12 does not properly
        retrieve keys, which allows remote attackers to cause a
        denial of service (NULL pointer dereference, type
        confusion, and application crash) or possibly execute
        arbitrary code via crafted serialized data representing
        a numerically indexed _cookies array, related to the
        SoapClient::__call method in
        ext/soap/soap.c.(CVE-2015-8835)
    
      - The object_common1 function in
        ext/standard/var_unserializer.c in PHP before 5.6.30,
        7.0.x before 7.0.15, and 7.1.x before 7.1.1 allows
        remote attackers to cause a denial of service (buffer
        over-read and application crash) via crafted serialized
        data that is mishandled in a finish_nested_data
        call.(CVE-2016-10161)
    
      - The odbc_bindcols function in ext/odbc/php_odbc.c in
        PHP before 5.6.12 mishandles driver behavior for
        SQL_WVARCHAR columns, which allows remote attackers to
        cause a denial of service (application crash) in
        opportunistic circumstances by leveraging use of the
        odbc_fetch_array function to access a certain type of
        Microsoft SQL Server table.(CVE-2015-8879)
    
      - The phar_convert_to_other function in
        ext/phar/phar_object.c in PHP before 5.4.43, 5.5.x
        before 5.5.27, and 5.6.x before 5.6.11 does not
        validate a file pointer before a close operation, which
        allows remote attackers to cause a denial of service
        (segmentation fault) or possibly have unspecified other
        impact via a crafted TAR archive that is mishandled in
        a Phar::convertToData call.(CVE-2015-5589)
    
      - The phar_get_entry_data function in ext/phar/util.c in
        PHP before 5.5.30 and 5.6.x before 5.6.14 allows remote
        attackers to cause a denial of service (NULL pointer
        dereference and application crash) via a .phar file
        with a crafted TAR archive entry in which the Link
        indicator references a file that does not
        exist.(CVE-2015-7803)
    
      - The phar_parse_zipfile function in zip.c in the PHAR
        extension in PHP before 5.5.33 and 5.6.x before 5.6.19
        allows remote attackers to obtain sensitive information
        from process memory or cause a denial of service
        (out-of-bounds read and application crash) by placing a
        PK\x05\x06 signature at an invalid
        location.(CVE-2016-3142)
    
      - The php_url_parse_ex function in ext/standard/url.c in
        PHP before 5.5.38 allows remote attackers to cause a
        denial of service (buffer over-read) or possibly have
        unspecified other impact via vectors involving the
        smart_str data type.(CVE-2016-6288)
    
      - The php_wddx_push_element function in ext/wddx/wddx.c
        in PHP before 5.6.26 and 7.x before 7.0.11 allows
        remote attackers to cause a denial of service (invalid
        pointer access and out-of-bounds read) or possibly have
        unspecified other impact via an incorrect boolean
        element in a wddxPacket XML document, leading to
        mishandling in a wddx_deserialize call.(CVE-2016-7418)
    
      - The php_wddx_push_element function in ext/wddx/wddx.c
        in PHP before 5.6.29 and 7.x before 7.0.14 allows
        remote attackers to cause a denial of service
        (out-of-bounds read and memory corruption) or possibly
        have unspecified other impact via an empty boolean
        element in a wddxPacket XML document.(CVE-2016-9935)
    
      - The sapi_header_op function in main/SAPI.c in PHP
        before 5.4.38, 5.5.x before 5.5.22, and 5.6.x before
        5.6.6 supports deprecated line folding without
        considering browser compatibility, which allows remote
        attackers to conduct cross-site scripting (XSS) attacks
        against Internet Explorer by leveraging (1) %0A%20 or
        (2) %0D%0A%20 mishandling in the header
        function.(CVE-2015-8935)
    
      - The SplObjectStorage unserialize implementation in
        ext/spl/spl_observer.c in PHP before 7.0.12 does not
        verify that a key is an object, which allows remote
        attackers to execute arbitrary code or cause a denial
        of service (uninitialized memory access) via crafted
        serialized data.(CVE-2016-7480)
    
      - The xml_parse_into_struct function in ext/xml/xml.c in
        PHP before 5.5.35, 5.6.x before 5.6.21, and 7.x before
        7.0.6 allows remote attackers to cause a denial of
        service (buffer under-read and segmentation fault) or
        possibly have unspecified other impact via crafted XML
        data in the second argument, leading to a parser level
        of zero.(CVE-2016-4539)
    
      - The ZIP signature-verification feature in PHP before
        5.6.26 and 7.x before 7.0.11 does not ensure that the
        uncompressed_filesize field is large enough, which
        allows remote attackers to cause a denial of service
        (out-of-bounds memory access) or possibly have
        unspecified other impact via a crafted PHAR archive,
        related to ext/phar/util.c and
        ext/phar/zip.c.(CVE-2016-7414)
    
      - Use-after-free vulnerability in the SPL unserialize
        implementation in ext/spl/spl_array.c in PHP before
        5.4.44, 5.5.x before 5.5.28, and 5.6.x before 5.6.12
        allows remote attackers to execute arbitrary code via
        crafted serialized data that triggers misuse of an
        array field.(CVE-2015-6832)
    
      - Use-after-free vulnerability in the spl_ptr_heap_insert
        function in ext/spl/spl_heap.c in PHP before 5.5.27 and
        5.6.x before 5.6.11 allows remote attackers to execute
        arbitrary code by triggering a failed
        SplMinHeap::compare operation.(CVE-2015-4116)
    
      - Use-after-free vulnerability in wddx.c in the WDDX
        extension in PHP before 5.5.33 and 5.6.x before 5.6.19
        allows remote attackers to cause a denial of service
        (memory corruption and application crash) or possibly
        have unspecified other impact by triggering a
        wddx_deserialize call on XML data containing a crafted
        var element.(CVE-2016-3141)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-2649
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?cd44f4b5");
      script_set_attribute(attribute:"solution", value:
    "Update the affected php packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'PHP-FPM Underflow RCE');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/12/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/18");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-cli");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-common");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-gd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-ldap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-mysql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-pdo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-pgsql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-process");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-recode");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-soap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-xml");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-xmlrpc");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      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/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(3)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP3", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["php-5.4.16-42.h51",
            "php-cli-5.4.16-42.h51",
            "php-common-5.4.16-42.h51",
            "php-gd-5.4.16-42.h51",
            "php-ldap-5.4.16-42.h51",
            "php-mysql-5.4.16-42.h51",
            "php-odbc-5.4.16-42.h51",
            "php-pdo-5.4.16-42.h51",
            "php-pgsql-5.4.16-42.h51",
            "php-process-5.4.16-42.h51",
            "php-recode-5.4.16-42.h51",
            "php-soap-5.4.16-42.h51",
            "php-xml-5.4.16-42.h51",
            "php-xmlrpc-5.4.16-42.h51"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"3", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "php");
    }
    
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_1B61ECEFCDB911E6A9A5B499BAEBFEAF.NASL
    descriptionCheck Point reports : ... discovered 3 fresh and previously unknown vulnerabilities (CVE-2016-7479, CVE-2016-7480, CVE-2016-7478) in the PHP 7 unserialize mechanism. The first two vulnerabilities allow attackers to take full control over servers, allowing them to do anything they want with the website, from spreading malware to defacing it or stealing customer data. The last vulnerability generates a Denial of Service attack which basically hangs the website, exhausts its memory consumption, and shuts it down. The PHP security team issued fixes for two of the vulnerabilities on the 13th of October and 1st of December.
    last seen2020-06-01
    modified2020-06-02
    plugin id96292
    published2017-01-05
    reporterThis script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/96292
    titleFreeBSD : PHP -- multiple vulnerabilities (1b61ecef-cdb9-11e6-a9a5-b499baebfeaf)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from the FreeBSD VuXML database :
    #
    # Copyright 2003-2018 Jacques Vidrine and contributors
    #
    # Redistribution and use in source (VuXML) and 'compiled' forms (SGML,
    # HTML, PDF, PostScript, RTF and so forth) with or without modification,
    # are permitted provided that the following conditions are met:
    # 1. Redistributions of source code (VuXML) must retain the above
    #    copyright notice, this list of conditions and the following
    #    disclaimer as the first lines of this file unmodified.
    # 2. Redistributions in compiled form (transformed to other DTDs,
    #    published online in any format, converted to PDF, PostScript,
    #    RTF and other formats) must reproduce the above copyright
    #    notice, this list of conditions and the following disclaimer
    #    in the documentation and/or other materials provided with the
    #    distribution.
    # 
    # THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS"
    # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
    # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
    # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS
    # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
    # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
    # OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
    # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
    # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
    # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION,
    # EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(96292);
      script_version("3.6");
      script_cvs_date("Date: 2018/11/10 11:49:45");
    
      script_cve_id("CVE-2016-7478", "CVE-2016-7479", "CVE-2016-7480");
    
      script_name(english:"FreeBSD : PHP -- multiple vulnerabilities (1b61ecef-cdb9-11e6-a9a5-b499baebfeaf)");
      script_summary(english:"Checks for updated package in pkg_info output");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote FreeBSD host is missing a security-related update."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "Check Point reports :
    
    ... discovered 3 fresh and previously unknown vulnerabilities
    (CVE-2016-7479, CVE-2016-7480, CVE-2016-7478) in the PHP 7 unserialize
    mechanism.
    
    The first two vulnerabilities allow attackers to take full control
    over servers, allowing them to do anything they want with the website,
    from spreading malware to defacing it or stealing customer data.
    
    The last vulnerability generates a Denial of Service attack which
    basically hangs the website, exhausts its memory consumption, and
    shuts it down.
    
    The PHP security team issued fixes for two of the vulnerabilities on
    the 13th of October and 1st of December."
      );
      # http://blog.checkpoint.com/2016/12/27/check-point-discovers-three-zero-day-vulnerabilities-web-programming-language-php-7/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?883c814d"
      );
      # https://vuxml.freebsd.org/freebsd/1b61ecef-cdb9-11e6-a9a5-b499baebfeaf.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?8caefca3"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected package.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:freebsd:freebsd:php70");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:freebsd:freebsd");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2016/12/27");
      script_set_attribute(attribute:"patch_publication_date", value:"2016/12/29");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/01/05");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      script_family(english:"FreeBSD Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/FreeBSD/release", "Host/FreeBSD/pkg_info");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("freebsd_package.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/FreeBSD/release")) audit(AUDIT_OS_NOT, "FreeBSD");
    if (!get_kb_item("Host/FreeBSD/pkg_info")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (pkg_test(save_report:TRUE, pkg:"php70<7.0.14")) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:pkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2017-0534-1.NASL
    descriptionThis update for php7 fixes the following security issues : - CVE-2016-7480: The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP did not verify that a key is an object, which allowed remote attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data. (bsc#1019568) - CVE-2017-5340: Zend/zend_hash.c in PHP mishandled certain cases that require large array allocations, which allowed remote attackers to execute arbitrary code or cause a denial of service (integer overflow, uninitialized memory access, and use of arbitrary destructor function pointers) via crafted serialized data. (bsc#1019570) - CVE-2016-7479: In all versions of PHP 7, during the unserialization process, resizing the
    last seen2020-03-24
    modified2019-01-02
    plugin id119993
    published2019-01-02
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/119993
    titleSUSE SLES12 Security Update : php7 (SUSE-SU-2017:0534-1)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2017:0534-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(119993);
      script_version("1.3");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/03/23");
    
      script_cve_id("CVE-2015-8876", "CVE-2016-10158", "CVE-2016-10159", "CVE-2016-10160", "CVE-2016-10161", "CVE-2016-10162", "CVE-2016-10166", "CVE-2016-10167", "CVE-2016-10168", "CVE-2016-7478", "CVE-2016-7479", "CVE-2016-7480", "CVE-2016-9138", "CVE-2017-5340");
    
      script_name(english:"SUSE SLES12 Security Update : php7 (SUSE-SU-2017:0534-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 php7 fixes the following security issues :
    
      - CVE-2016-7480: The SplObjectStorage unserialize
        implementation in ext/spl/spl_observer.c in PHP did not
        verify that a key is an object, which allowed remote
        attackers to execute arbitrary code or cause a denial of
        service (uninitialized memory access) via crafted
        serialized data. (bsc#1019568)
    
      - CVE-2017-5340: Zend/zend_hash.c in PHP mishandled
        certain cases that require large array allocations,
        which allowed remote attackers to execute arbitrary code
        or cause a denial of service (integer overflow,
        uninitialized memory access, and use of arbitrary
        destructor function pointers) via crafted serialized
        data. (bsc#1019570)
    
      - CVE-2016-7479: In all versions of PHP 7, during the
        unserialization process, resizing the 'properties' hash
        table of a serialized object may have lead to
        use-after-free. A remote attacker may exploit this bug
        to gain arbitrary code execution. (bsc#1019547)
    
      - CVE-2016-7478: Zend/zend_exceptions.c in PHP allowed
        remote attackers to cause a denial of service (infinite
        loop) via a crafted Exception object in serialized data,
        a related issue to CVE-2015-8876. (bsc#1019550)
    
      - CVE-2016-10159: Integer overflow in the
        phar_parse_pharfile function in ext/phar/phar.c in PHP
        allowed remote attackers to cause a denial of service
        (memory consumption or application crash) via a
        truncated manifest entry in a PHAR archive.
        (bsc#1022255)
    
      - CVE-2016-10160: Off-by-one error in the
        phar_parse_pharfile function in ext/phar/phar.c in PHP
        allowed remote attackers to cause a denial of service
        (memory corruption) or possibly execute arbitrary code
        via a crafted PHAR archive with an alias mismatch.
        (bsc#1022257)
    
      - CVE-2016-10161: The object_common1 function in
        ext/standard/var_unserializer.c in PHP allowed remote
        attackers to cause a denial of service (buffer over-read
        and application crash) via crafted serialized data that
        is mishandled in a finish_nested_data call.
        (bsc#1022260)
    
      - CVE-2016-10162: The php_wddx_pop_element function in
        ext/wddx/wddx.c in PHP 7 allowed remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash) via an inapplicable class name in a
        wddxPacket XML document, leading to mishandling in a
        wddx_deserialize call. (bsc#1022262)
    
      - CVE-2016-10166: A potential unsigned underflow in gd
        interpolation functions could lead to memory corruption
        in the PHP gd module (bsc#1022263)
    
      - CVE-2016-10167: A denial of service problem in
        gdImageCreateFromGd2Ctx() could lead to php out of
        memory even on small files. (bsc#1022264)
    
      - CVE-2016-10168: A signed integer overflow in the gd
        module could lead to memory corruption (bsc#1022265)
    
      - CVE-2016-9138: PHP mishandled property modification
        during __wakeup processing, which allows remote
        attackers to cause a denial of service or possibly have
        unspecified other impact via crafted serialized data, as
        demonstrated by Exception::__toString with
        DateInterval::__wakeup. (bsc#1008026)
    
    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=1008026"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1019547"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1019550"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1019568"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1019570"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022219"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022257"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022260"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022262"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022263"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022264"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.suse.com/show_bug.cgi?id=1022265"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10158/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10159/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10160/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10161/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10162/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10166/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10167/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-10168/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-7478/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-7479/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-7480/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2016-9138/"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://www.suse.com/security/cve/CVE-2017-5340/"
      );
      # https://www.suse.com/support/update/announcement/2017/suse-su-20170534-1/
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?f193c1ba"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "To install this SUSE Security Update use YaST online_update.
    Alternatively you can run the command listed for your product :
    
    SUSE Linux Enterprise Software Development Kit 12-SP2:zypper in -t
    patch SUSE-SLE-SDK-12-SP2-2017-277=1
    
    SUSE Linux Enterprise Software Development Kit 12-SP1:zypper in -t
    patch SUSE-SLE-SDK-12-SP1-2017-277=1
    
    SUSE Linux Enterprise Module for Web Scripting 12:zypper in -t patch
    SUSE-SLE-Module-Web-Scripting-12-2017-277=1
    
    To bring your system up-to-date, use 'zypper patch'."
      );
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/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:N/AC:L/PR:N/UI:N/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:apache2-mod_php7");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2-mod_php7-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-bcmath");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-bcmath-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-bz2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-bz2-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-calendar");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-calendar-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-ctype");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-ctype-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-curl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-curl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-dba");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-dba-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-dom");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-dom-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-enchant");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-enchant-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-exif");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-exif-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-fastcgi");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-fastcgi-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-fileinfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-fileinfo-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-fpm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-fpm-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-ftp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-ftp-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-gd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-gd-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-gettext");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-gettext-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-gmp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-gmp-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-iconv");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-iconv-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-imap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-imap-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-intl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-intl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-json");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-json-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-ldap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-ldap-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-mbstring");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-mbstring-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-mcrypt");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-mcrypt-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-mysql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-mysql-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-odbc-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-opcache");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-opcache-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-openssl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-openssl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pcntl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pcntl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pdo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pdo-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pgsql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pgsql-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-phar");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-phar-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-posix");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-posix-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pspell");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-pspell-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-shmop");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-shmop-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-snmp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-snmp-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-soap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-soap-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sockets");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sockets-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sqlite");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sqlite-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sysvmsg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sysvmsg-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sysvsem");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sysvsem-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sysvshm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-sysvshm-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-tokenizer");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-tokenizer-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-wddx");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-wddx-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xmlreader");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xmlreader-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xmlrpc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xmlrpc-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xmlwriter");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xmlwriter-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xsl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-xsl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-zip");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-zip-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-zlib");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:php7-zlib-debuginfo");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:12");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2016/05/22");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/02/22");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/01/02");
      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:"^(SLES12)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLES12", "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);
    
    sp = get_kb_item("Host/SuSE/patchlevel");
    if (isnull(sp)) sp = "0";
    if (os_ver == "SLES12" && (! preg(pattern:"^(0)$", string:sp))) audit(AUDIT_OS_NOT, "SLES12 SP0", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES12", sp:"0", reference:"apache2-mod_php7-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"apache2-mod_php7-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-bcmath-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-bcmath-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-bz2-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-bz2-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-calendar-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-calendar-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-ctype-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-ctype-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-curl-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-curl-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-dba-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-dba-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-debugsource-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-dom-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-dom-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-enchant-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-enchant-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-exif-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-exif-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-fastcgi-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-fastcgi-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-fileinfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-fileinfo-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-fpm-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-fpm-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-ftp-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-ftp-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-gd-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-gd-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-gettext-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-gettext-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-gmp-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-gmp-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-iconv-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-iconv-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-imap-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-imap-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-intl-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-intl-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-json-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-json-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-ldap-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-ldap-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-mbstring-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-mbstring-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-mcrypt-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-mcrypt-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-mysql-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-mysql-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-odbc-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-odbc-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-opcache-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-opcache-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-openssl-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-openssl-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pcntl-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pcntl-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pdo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pdo-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pgsql-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pgsql-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-phar-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-phar-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-posix-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-posix-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pspell-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-pspell-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-shmop-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-shmop-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-snmp-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-snmp-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-soap-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-soap-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sockets-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sockets-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sqlite-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sqlite-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sysvmsg-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sysvmsg-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sysvsem-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sysvsem-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sysvshm-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-sysvshm-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-tokenizer-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-tokenizer-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-wddx-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-wddx-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xmlreader-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xmlreader-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xmlrpc-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xmlrpc-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xmlwriter-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xmlwriter-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xsl-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-xsl-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-zip-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-zip-debuginfo-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-zlib-7.0.7-35.1")) flag++;
    if (rpm_check(release:"SLES12", sp:"0", reference:"php7-zlib-debuginfo-7.0.7-35.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, "php7");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2017-304.NASL
    descriptionThis update for php7 fixes the following security issues : - CVE-2016-7480: The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP did not verify that a key is an object, which allowed remote attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data. (bsc#1019568) - CVE-2017-5340: Zend/zend_hash.c in PHP mishandled certain cases that require large array allocations, which allowed remote attackers to execute arbitrary code or cause a denial of service (integer overflow, uninitialized memory access, and use of arbitrary destructor function pointers) via crafted serialized data. (bsc#1019570) - CVE-2016-7479: In all versions of PHP 7, during the unserialization process, resizing the
    last seen2020-06-05
    modified2017-03-07
    plugin id97563
    published2017-03-07
    reporterThis script is Copyright (C) 2017-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/97563
    titleopenSUSE Security Update : php7 (openSUSE-2017-304)
    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 openSUSE-2017-304.
    #
    # The text description of this plugin is (C) SUSE LLC.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(97563);
      script_version("3.2");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2015-8876", "CVE-2016-10158", "CVE-2016-10159", "CVE-2016-10160", "CVE-2016-10161", "CVE-2016-10162", "CVE-2016-10166", "CVE-2016-10167", "CVE-2016-10168", "CVE-2016-7478", "CVE-2016-7479", "CVE-2016-7480", "CVE-2016-9138", "CVE-2017-5340");
    
      script_name(english:"openSUSE Security Update : php7 (openSUSE-2017-304)");
      script_summary(english:"Check for the openSUSE-2017-304 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 php7 fixes the following security issues :
    
      - CVE-2016-7480: The SplObjectStorage unserialize
        implementation in ext/spl/spl_observer.c in PHP did not
        verify that a key is an object, which allowed remote
        attackers to execute arbitrary code or cause a denial of
        service (uninitialized memory access) via crafted
        serialized data. (bsc#1019568)
    
      - CVE-2017-5340: Zend/zend_hash.c in PHP mishandled
        certain cases that require large array allocations,
        which allowed remote attackers to execute arbitrary code
        or cause a denial of service (integer overflow,
        uninitialized memory access, and use of arbitrary
        destructor function pointers) via crafted serialized
        data. (bsc#1019570)
    
      - CVE-2016-7479: In all versions of PHP 7, during the
        unserialization process, resizing the 'properties' hash
        table of a serialized object may have lead to
        use-after-free. A remote attacker may exploit this bug
        to gain arbitrary code execution. (bsc#1019547)
    
      - CVE-2016-7478: Zend/zend_exceptions.c in PHP allowed
        remote attackers to cause a denial of service (infinite
        loop) via a crafted Exception object in serialized data,
        a related issue to CVE-2015-8876. (bsc#1019550)
    
      - CVE-2016-10159: Integer overflow in the
        phar_parse_pharfile function in ext/phar/phar.c in PHP
        allowed remote attackers to cause a denial of service
        (memory consumption or application crash) via a
        truncated manifest entry in a PHAR archive.
        (bsc#1022255)
    
      - CVE-2016-10160: Off-by-one error in the
        phar_parse_pharfile function in ext/phar/phar.c in PHP
        allowed remote attackers to cause a denial of service
        (memory corruption) or possibly execute arbitrary code
        via a crafted PHAR archive with an alias mismatch.
        (bsc#1022257)
    
      - CVE-2016-10161: The object_common1 function in
        ext/standard/var_unserializer.c in PHP allowed remote
        attackers to cause a denial of service (buffer over-read
        and application crash) via crafted serialized data that
        is mishandled in a finish_nested_data call.
        (bsc#1022260)
    
      - CVE-2016-10162: The php_wddx_pop_element function in
        ext/wddx/wddx.c in PHP 7 allowed remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash) via an inapplicable class name in a
        wddxPacket XML document, leading to mishandling in a
        wddx_deserialize call. (bsc#1022262)
    
      - CVE-2016-10166: A potential unsigned underflow in gd
        interpolation functions could lead to memory corruption
        in the PHP gd module (bsc#1022263)
    
      - CVE-2016-10167: A denial of service problem in
        gdImageCreateFromGd2Ctx() could lead to php out of
        memory even on small files. (bsc#1022264)
    
      - CVE-2016-10168: A signed integer overflow in the gd
        module could lead to memory corruption (bsc#1022265)
    
      - CVE-2016-9138: PHP mishandled property modification
        during __wakeup processing, which allows remote
        attackers to cause a denial of service or possibly have
        unspecified other impact via crafted serialized data, as
        demonstrated by Exception::__toString with
        DateInterval::__wakeup. (bsc#1008026)
    
    This update was imported from the SUSE:SLE-12:Update update project."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1008026"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1019547"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1019550"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1019568"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1019570"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022219"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022255"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022257"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022260"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022262"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022263"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022264"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.opensuse.org/show_bug.cgi?id=1022265"
      );
      script_set_attribute(attribute:"solution", value:"Update the affected php7 packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:apache2-mod_php7");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:apache2-mod_php7-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-bcmath");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-bcmath-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-bz2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-bz2-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-calendar");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-calendar-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-ctype");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-ctype-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-curl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-curl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-dba");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-dba-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-debugsource");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-dom");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-dom-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-enchant");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-enchant-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-exif");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-exif-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-fastcgi");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-fastcgi-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-fileinfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-fileinfo-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-firebird");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-firebird-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-fpm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-fpm-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-ftp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-ftp-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-gd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-gd-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-gettext");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-gettext-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-gmp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-gmp-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-iconv");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-iconv-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-imap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-imap-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-intl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-intl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-json");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-json-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-ldap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-ldap-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-mbstring");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-mbstring-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-mcrypt");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-mcrypt-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-mysql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-mysql-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-odbc-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-opcache");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-opcache-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-openssl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-openssl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pcntl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pcntl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pdo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pdo-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pear");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pear-Archive_Tar");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pgsql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pgsql-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-phar");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-phar-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-posix");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-posix-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pspell");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-pspell-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-readline");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-readline-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-shmop");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-shmop-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-snmp");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-snmp-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-soap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-soap-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sockets");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sockets-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sqlite");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sqlite-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sysvmsg");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sysvmsg-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sysvsem");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sysvsem-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sysvshm");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-sysvshm-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-tidy");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-tidy-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-tokenizer");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-tokenizer-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-wddx");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-wddx-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xmlreader");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xmlreader-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xmlrpc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xmlrpc-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xmlwriter");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xmlwriter-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xsl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-xsl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-zip");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-zip-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-zlib");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:opensuse:php7-zlib-debuginfo");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:opensuse:42.2");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/03/02");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/03/07");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017-2020 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 !~ "^(SUSE42\.2)$") audit(AUDIT_OS_RELEASE_NOT, "openSUSE", "42.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:"SUSE42.2", reference:"apache2-mod_php7-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"apache2-mod_php7-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-bcmath-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-bcmath-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-bz2-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-bz2-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-calendar-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-calendar-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-ctype-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-ctype-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-curl-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-curl-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-dba-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-dba-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-debugsource-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-devel-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-dom-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-dom-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-enchant-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-enchant-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-exif-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-exif-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-fastcgi-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-fastcgi-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-fileinfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-fileinfo-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-firebird-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-firebird-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-fpm-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-fpm-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-ftp-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-ftp-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-gd-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-gd-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-gettext-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-gettext-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-gmp-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-gmp-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-iconv-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-iconv-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-imap-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-imap-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-intl-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-intl-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-json-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-json-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-ldap-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-ldap-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-mbstring-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-mbstring-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-mcrypt-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-mcrypt-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-mysql-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-mysql-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-odbc-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-odbc-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-opcache-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-opcache-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-openssl-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-openssl-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pcntl-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pcntl-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pdo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pdo-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pear-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pear-Archive_Tar-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pgsql-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pgsql-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-phar-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-phar-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-posix-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-posix-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pspell-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-pspell-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-readline-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-readline-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-shmop-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-shmop-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-snmp-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-snmp-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-soap-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-soap-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sockets-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sockets-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sqlite-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sqlite-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sysvmsg-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sysvmsg-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sysvsem-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sysvsem-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sysvshm-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-sysvshm-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-tidy-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-tidy-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-tokenizer-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-tokenizer-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-wddx-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-wddx-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xmlreader-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xmlreader-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xmlrpc-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xmlrpc-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xmlwriter-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xmlwriter-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xsl-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-xsl-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-zip-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-zip-debuginfo-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-zlib-7.0.7-12.1") ) flag++;
    if ( rpm_check(release:"SUSE42.2", reference:"php7-zlib-debuginfo-7.0.7-12.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, "apache2-mod_php7 / apache2-mod_php7-debuginfo / php7 / php7-bcmath / etc");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-2438.NASL
    descriptionAccording to the versions of the php packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it is possible to cause FPM module to write past allocated buffers into the space reserved for FCGI protocol data, thus opening the possibility of remote code execution.(CVE-2019-11043) - The finish_nested_data function in ext/standard/var_unserializer.re in PHP before 5.6.31, 7.0.x before 7.0.21, and 7.1.x before 7.1.7 is prone to a buffer over-read while unserializing untrusted data. Exploitation of this issue can have an unspecified impact on the integrity of PHP.(CVE-2017-12933) - ext/standard/var_unserializer.c in PHP before 5.6.25 and 7.x before 7.0.10 mishandles certain invalid objects, which allows remote attackers to cause a denial of service or possibly have unspecified other impact via crafted serialized data that leads to a (1) __destruct call or (2) magic method call.(CVE-2016-7124) - The match function in pcre_exec.c in PCRE before 8.37 mishandles the /(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi )abc)|((*ACCEPT)))/ pattern and related patterns involving (*ACCEPT), which allows remote attackers to obtain sensitive information from process memory or cause a denial of service (partially initialized memory and application crash) via a crafted regular expression, as demonstrated by a JavaScript RegExp object encountered by Konqueror, aka ZDI-CAN-2547.(CVE-2015-8382) - An issue was discovered in PHP before 5.6.33, 7.0.x before 7.0.27, 7.1.x before 7.1.13, and 7.2.x before 7.2.1. There is Reflected XSS on the PHAR 404 error page via the URI of a request for a .phar file.(CVE-2018-5712) - exif_process_IFD_in_MAKERNOTE in ext/exif/exif.c in PHP before 5.6.37, 7.0.x before 7.0.31, 7.1.x before 7.1.20, and 7.2.x before 7.2.8 allows remote attackers to cause a denial of service (out-of-bounds read and application crash) via a crafted JPEG file.(CVE-2018-14851) - The SplObjectStorage unserialize implementation in ext/spl/spl_observer.c in PHP before 7.0.12 does not verify that a key is an object, which allows remote attackers to execute arbitrary code or cause a denial of service (uninitialized memory access) via crafted serialized data.(CVE-2016-7480) - ext/standard/var_unserializer.re in PHP before 5.6.26 mishandles object-deserialization failures, which allows remote attackers to cause a denial of service (memory corruption) or possibly have unspecified other impact via an unserialize call that references a partially constructed object.(CVE-2016-7411) - The odbc_bindcols function in ext/odbc/php_odbc.c in PHP before 5.6.12 mishandles driver behavior for SQL_WVARCHAR columns, which allows remote attackers to cause a denial of service (application crash) in opportunistic circumstances by leveraging use of the odbc_fetch_array function to access a certain type of Microsoft SQL Server table.(CVE-2015-8879) - In PHP before 5.6.32, 7.x before 7.0.25, and 7.1.x before 7.1.11, an error in the date extension
    last seen2020-05-08
    modified2019-12-04
    plugin id131592
    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/131592
    titleEulerOS 2.0 SP2 : php (EulerOS-SA-2019-2438)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(131592);
      script_version("1.5");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/07");
    
      script_cve_id(
        "CVE-2011-4718",
        "CVE-2014-9767",
        "CVE-2014-9912",
        "CVE-2015-5589",
        "CVE-2015-6831",
        "CVE-2015-6832",
        "CVE-2015-6833",
        "CVE-2015-7803",
        "CVE-2015-7804",
        "CVE-2015-8382",
        "CVE-2015-8835",
        "CVE-2015-8867",
        "CVE-2015-8874",
        "CVE-2015-8879",
        "CVE-2015-8935",
        "CVE-2016-10397",
        "CVE-2016-2554",
        "CVE-2016-3141",
        "CVE-2016-3142",
        "CVE-2016-3185",
        "CVE-2016-4070",
        "CVE-2016-4539",
        "CVE-2016-4540",
        "CVE-2016-4541",
        "CVE-2016-4542",
        "CVE-2016-4543",
        "CVE-2016-5093",
        "CVE-2016-5094",
        "CVE-2016-6288",
        "CVE-2016-6291",
        "CVE-2016-6292",
        "CVE-2016-6293",
        "CVE-2016-6294",
        "CVE-2016-7124",
        "CVE-2016-7125",
        "CVE-2016-7128",
        "CVE-2016-7411",
        "CVE-2016-7412",
        "CVE-2016-7414",
        "CVE-2016-7418",
        "CVE-2016-7480",
        "CVE-2016-9934",
        "CVE-2016-9935",
        "CVE-2017-11143",
        "CVE-2017-11144",
        "CVE-2017-11147",
        "CVE-2017-11628",
        "CVE-2017-12933",
        "CVE-2017-16642",
        "CVE-2017-7272",
        "CVE-2017-9224",
        "CVE-2017-9226",
        "CVE-2017-9227",
        "CVE-2017-9228",
        "CVE-2017-9229",
        "CVE-2018-10545",
        "CVE-2018-10547",
        "CVE-2018-14851",
        "CVE-2018-17082",
        "CVE-2018-5712",
        "CVE-2019-11040",
        "CVE-2019-11041",
        "CVE-2019-11042",
        "CVE-2019-11043"
      );
      script_bugtraq_id(
        61929,
        75974
      );
    
      script_name(english:"EulerOS 2.0 SP2 : php (EulerOS-SA-2019-2438)");
      script_summary(english:"Checks the rpm output for the updated packages.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote EulerOS host is missing multiple security updates.");
      script_set_attribute(attribute:"description", value:
    "According to the versions of the php packages installed, the EulerOS
    installation on the remote host is affected by the following
    vulnerabilities :
    
      - In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24
        and 7.3.x below 7.3.11 in certain configurations of FPM
        setup it is possible to cause FPM module to write past
        allocated buffers into the space reserved for FCGI
        protocol data, thus opening the possibility of remote
        code execution.(CVE-2019-11043)
    
      - The finish_nested_data function in
        ext/standard/var_unserializer.re in PHP before 5.6.31,
        7.0.x before 7.0.21, and 7.1.x before 7.1.7 is prone to
        a buffer over-read while unserializing untrusted data.
        Exploitation of this issue can have an unspecified
        impact on the integrity of PHP.(CVE-2017-12933)
    
      - ext/standard/var_unserializer.c in PHP before 5.6.25
        and 7.x before 7.0.10 mishandles certain invalid
        objects, which allows remote attackers to cause a
        denial of service or possibly have unspecified other
        impact via crafted serialized data that leads to a (1)
        __destruct call or (2) magic method
        call.(CVE-2016-7124)
    
      - The match function in pcre_exec.c in PCRE before 8.37
        mishandles the
        /(?:((abcd))|(((?:(?:(?:(?:abc|(?:abcdef))))b)abcdefghi
        )abc)|((*ACCEPT)))/ pattern and related patterns
        involving (*ACCEPT), which allows remote attackers to
        obtain sensitive information from process memory or
        cause a denial of service (partially initialized memory
        and application crash) via a crafted regular
        expression, as demonstrated by a JavaScript RegExp
        object encountered by Konqueror, aka
        ZDI-CAN-2547.(CVE-2015-8382)
    
      - An issue was discovered in PHP before 5.6.33, 7.0.x
        before 7.0.27, 7.1.x before 7.1.13, and 7.2.x before
        7.2.1. There is Reflected XSS on the PHAR 404 error
        page via the URI of a request for a .phar
        file.(CVE-2018-5712)
    
      - exif_process_IFD_in_MAKERNOTE in ext/exif/exif.c in PHP
        before 5.6.37, 7.0.x before 7.0.31, 7.1.x before
        7.1.20, and 7.2.x before 7.2.8 allows remote attackers
        to cause a denial of service (out-of-bounds read and
        application crash) via a crafted JPEG
        file.(CVE-2018-14851)
    
      - The SplObjectStorage unserialize implementation in
        ext/spl/spl_observer.c in PHP before 7.0.12 does not
        verify that a key is an object, which allows remote
        attackers to execute arbitrary code or cause a denial
        of service (uninitialized memory access) via crafted
        serialized data.(CVE-2016-7480)
    
      - ext/standard/var_unserializer.re in PHP before 5.6.26
        mishandles object-deserialization failures, which
        allows remote attackers to cause a denial of service
        (memory corruption) or possibly have unspecified other
        impact via an unserialize call that references a
        partially constructed object.(CVE-2016-7411)
    
      - The odbc_bindcols function in ext/odbc/php_odbc.c in
        PHP before 5.6.12 mishandles driver behavior for
        SQL_WVARCHAR columns, which allows remote attackers to
        cause a denial of service (application crash) in
        opportunistic circumstances by leveraging use of the
        odbc_fetch_array function to access a certain type of
        Microsoft SQL Server table.(CVE-2015-8879)
    
      - In PHP before 5.6.32, 7.x before 7.0.25, and 7.1.x
        before 7.1.11, an error in the date extension's
        timelib_meridian handling of 'front of' and 'back of'
        directives could be used by attackers able to supply
        date strings to leak information from the interpreter,
        related to ext/date/lib/parse_date.c out-of-bounds
        reads affecting the php_parse_date function. NOTE: this
        is a different issue than
        CVE-2017-11145.(CVE-2017-16642)
    
      - The exif_process_IFD_in_JPEG function in
        ext/exif/exif.c in PHP before 5.5.35, 5.6.x before
        5.6.21, and 7.x before 7.0.6 does not validate IFD
        sizes, which allows remote attackers to cause a denial
        of service (out-of-bounds read) or possibly have
        unspecified other impact via crafted header
        data.(CVE-2016-4543)
    
      - The exif_process_IFD_TAG function in ext/exif/exif.c in
        PHP before 5.5.35, 5.6.x before 5.6.21, and 7.x before
        7.0.6 does not properly construct spprintf arguments,
        which allows remote attackers to cause a denial of
        service (out-of-bounds read) or possibly have
        unspecified other impact via crafted header
        data.(CVE-2016-4542)
    
      - The grapheme_strpos function in
        ext/intl/grapheme/grapheme_string.c in PHP before
        5.5.35, 5.6.x before 5.6.21, and 7.x before 7.0.6
        allows remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a negative offset.(CVE-2016-4541)
    
      - The grapheme_stripos function in
        ext/intl/grapheme/grapheme_string.c in PHP before
        5.5.35, 5.6.x before 5.6.21, and 7.x before 7.0.6
        allows remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a negative offset.(CVE-2016-4540)
    
      - The xml_parse_into_struct function in ext/xml/xml.c in
        PHP before 5.5.35, 5.6.x before 5.6.21, and 7.x before
        7.0.6 allows remote attackers to cause a denial of
        service (buffer under-read and segmentation fault) or
        possibly have unspecified other impact via crafted XML
        data in the second argument, leading to a parser level
        of zero.(CVE-2016-4539)
    
      - ** DISPUTED ** Integer overflow in the
        php_raw_url_encode function in ext/standard/url.c in
        PHP before 5.5.34, 5.6.x before 5.6.20, and 7.x before
        7.0.5 allows remote attackers to cause a denial of
        service (application crash) via a long string to the
        rawurlencode function. NOTE: the vendor says 'Not sure
        if this qualifies as security issue (probably
        not).'(CVE-2016-4070)
    
      - Use-after-free vulnerability in wddx.c in the WDDX
        extension in PHP before 5.5.33 and 5.6.x before 5.6.19
        allows remote attackers to cause a denial of service
        (memory corruption and application crash) or possibly
        have unspecified other impact by triggering a
        wddx_deserialize call on XML data containing a crafted
        var element.(CVE-2016-3141)
    
      - In PHP before 5.6.28 and 7.x before 7.0.13, incorrect
        handling of various URI components in the URL parser
        could be used by attackers to bypass hostname-specific
        URL checks, as demonstrated by
        evil.example.com:80#@good.example.com/ and
        evil.example.com:[email protected]/ inputs to the
        parse_url function (implemented in the php_url_parse_ex
        function in ext/standard/url.c).(CVE-2016-10397)
    
      - Multiple use-after-free vulnerabilities in SPL in PHP
        before 5.4.44, 5.5.x before 5.5.28, and 5.6.x before
        5.6.12 allow remote attackers to execute arbitrary code
        via vectors involving (1) ArrayObject, (2)
        SplObjectStorage, and (3) SplDoublyLinkedList, which
        are mishandled during unserialization.(CVE-2015-6831)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A heap out-of-bounds write occurs in
        bitset_set_range() during regular expression
        compilation due to an uninitialized variable from an
        incorrect state transition. An incorrect state
        transition in parse_char_class() could create an
        execution path that leaves a critical local variable
        uninitialized until it's used as an index, resulting in
        an out-of-bounds write memory
        corruption.(CVE-2017-9228)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A stack out-of-bounds read occurs in
        mbc_enc_len() during regular expression searching.
        Invalid handling of reg->dmin in forward_search_range()
        could result in an invalid pointer dereference, as an
        out-of-bounds read from a stack buffer.(CVE-2017-9227)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A heap out-of-bounds write or read
        occurs in next_state_val() during regular expression
        compilation. Octal numbers larger than 0xff are not
        handled correctly in fetch_token() and
        fetch_token_in_cc(). A malformed regular expression
        containing an octal number in the form of '\700' would
        produce an invalid code point value larger than 0xff in
        next_state_val(), resulting in an out-of-bounds write
        memory corruption.(CVE-2017-9226)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A stack out-of-bounds read occurs in
        match_at() during regular expression searching. A
        logical error involving order of validation and access
        in match_at() could result in an out-of-bounds read
        from a stack buffer.(CVE-2017-9224)
    
      - The exif_process_IFD_in_MAKERNOTE function in
        ext/exif/exif.c in PHP before 5.5.38, 5.6.x before
        5.6.24, and 7.x before 7.0.9 allows remote attackers to
        cause a denial of service (out-of-bounds array access
        and memory corruption), obtain sensitive information
        from process memory, or possibly have unspecified other
        impact via a crafted JPEG image.(CVE-2016-6291)
    
      - The php_url_parse_ex function in ext/standard/url.c in
        PHP before 5.5.38 allows remote attackers to cause a
        denial of service (buffer over-read) or possibly have
        unspecified other impact via vectors involving the
        smart_str data type.(CVE-2016-6288)
    
      - Integer overflow in the php_html_entities function in
        ext/standard/html.c in PHP before 5.5.36 and 5.6.x
        before 5.6.22 allows remote attackers to cause a denial
        of service or possibly have unspecified other impact by
        triggering a large output string from the
        htmlspecialchars function.(CVE-2016-5094)
    
      - The get_icu_value_internal function in
        ext/intl/locale/locale_methods.c in PHP before 5.5.36,
        5.6.x before 5.6.22, and 7.x before 7.0.7 does not
        ensure the presence of a '\0' character, which allows
        remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a crafted locale_get_primary_language
        call.(CVE-2016-5093)
    
      - In PHP before 5.6.31, an invalid free in the WDDX
        deserialization of boolean parameters could be used by
        attackers able to inject XML for deserialization to
        crash the PHP interpreter, related to an invalid free
        for an empty boolean element in
        ext/wddx/wddx.c.(CVE-2017-11143)
    
      - The php_wddx_push_element function in ext/wddx/wddx.c
        in PHP before 5.6.29 and 7.x before 7.0.14 allows
        remote attackers to cause a denial of service
        (out-of-bounds read and memory corruption) or possibly
        have unspecified other impact via an empty boolean
        element in a wddxPacket XML document.(CVE-2016-9935)
    
      - ext/wddx/wddx.c in PHP before 5.6.28 and 7.x before
        7.0.13 allows remote attackers to cause a denial of
        service (NULL pointer dereference) via crafted
        serialized data in a wddxPacket XML document, as
        demonstrated by a PDORow string.(CVE-2016-9934)
    
      - The ZIP signature-verification feature in PHP before
        5.6.26 and 7.x before 7.0.11 does not ensure that the
        uncompressed_filesize field is large enough, which
        allows remote attackers to cause a denial of service
        (out-of-bounds memory access) or possibly have
        unspecified other impact via a crafted PHAR archive,
        related to ext/phar/util.c and
        ext/phar/zip.c.(CVE-2016-7414)
    
      - ext/mysqlnd/mysqlnd_wireprotocol.c in PHP before 5.6.26
        and 7.x before 7.0.11 does not verify that a BIT field
        has the UNSIGNED_FLAG flag, which allows remote MySQL
        servers to cause a denial of service (heap-based buffer
        overflow) or possibly have unspecified other impact via
        crafted field metadata.(CVE-2016-7412)
    
      - An issue was discovered in Oniguruma 6.2.0, as used in
        Oniguruma-mod in Ruby through 2.4.1 and mbstring in PHP
        through 7.1.5. A SIGSEGV occurs in
        left_adjust_char_head() during regular expression
        compilation. Invalid handling of reg->dmax in
        forward_search_range() could result in an invalid
        pointer dereference, normally as an immediate
        denial-of-service condition.(CVE-2017-9229)
    
      - The openssl_random_pseudo_bytes function in
        ext/openssl/openssl.c in PHP before 5.4.44, 5.5.x
        before 5.5.28, and 5.6.x before 5.6.12 incorrectly
        relies on the deprecated RAND_pseudo_bytes function,
        which makes it easier for remote attackers to defeat
        cryptographic protection mechanisms via unspecified
        vectors.(CVE-2015-8867)
    
      - The sapi_header_op function in main/SAPI.c in PHP
        before 5.4.38, 5.5.x before 5.5.22, and 5.6.x before
        5.6.6 supports deprecated line folding without
        considering browser compatibility, which allows remote
        attackers to conduct cross-site scripting (XSS) attacks
        against Internet Explorer by leveraging (1) %0A%20 or
        (2) %0D%0A%20 mishandling in the header
        function.(CVE-2015-8935)
    
      - An issue was discovered in PHP before 5.6.35, 7.0.x
        before 7.0.29, 7.1.x before 7.1.16, and 7.2.x before
        7.2.4. Dumpable FPM child processes allow bypassing
        opcache access controls because fpm_unix.c makes a
        PR_SET_DUMPABLE prctl call, allowing one user (in a
        multiuser environment) to obtain sensitive information
        from the process memory of a second user's PHP
        applications by running gcore on the PID of the PHP-FPM
        worker process.(CVE-2018-10545)
    
      - An issue was discovered in ext/phar/phar_object.c in
        PHP before 5.6.36, 7.0.x before 7.0.30, 7.1.x before
        7.1.17, and 7.2.x before 7.2.5. There is Reflected XSS
        on the PHAR 403 and 404 error pages via request data of
        a request for a .phar file. NOTE: this vulnerability
        exists because of an incomplete fix for
        CVE-2018-5712.(CVE-2018-10547)
    
      - The Apache2 component in PHP before 5.6.38, 7.0.x
        before 7.0.32, 7.1.x before 7.1.22, and 7.2.x before
        7.2.10 allows XSS via the body of a 'Transfer-Encoding:
        chunked' request, because the bucket brigade is
        mishandled in the php_handler function in
        sapi/apache2handler/sapi_apache2.c.(CVE-2018-17082)
    
      - PHP through 7.1.11 enables potential SSRF in
        applications that accept an fsockopen or pfsockopen
        hostname argument with an expectation that the port
        number is constrained. Because a :port syntax is
        recognized, fsockopen will use the port number that is
        specified in the hostname argument, instead of the port
        number in the second argument of the
        function.(CVE-2017-7272 )
    
      - In PHP before 5.6.31, 7.x before 7.0.21, and 7.1.x
        before 7.1.7, a stack-based buffer overflow in the
        zend_ini_do_op() function in Zend/zend_ini_parser.c
        could cause a denial of service or potentially allow
        executing code. NOTE: this is only relevant for PHP
        applications that accept untrusted input (instead of
        the system's php.ini file) for the parse_ini_string or
        parse_ini_file function, e.g., a web application for
        syntax validation of php.ini
        directives.(CVE-2017-11628)
    
      - In PHP before 5.6.30 and 7.x before 7.0.15, the PHAR
        archive handler could be used by attackers supplying
        malicious archive files to crash the PHP interpreter or
        potentially disclose information due to a buffer
        over-read in the phar_parse_pharfile function in
        ext/phar/phar.c.(CVE-2017-11147)
    
      - In PHP before 5.6.31, 7.x before 7.0.21, and 7.1.x
        before 7.1.7, the openssl extension PEM sealing code
        did not check the return value of the OpenSSL sealing
        function, which could lead to a crash of the PHP
        interpreter, related to an interpretation conflict for
        a negative number in ext/openssl/openssl.c, and an
        OpenSSL documentation omission.(CVE-2017-11144)
    
      - The locale_accept_from_http function in
        ext/intl/locale/locale_methods.c in PHP before 5.5.38,
        5.6.x before 5.6.24, and 7.x before 7.0.9 does not
        properly restrict calls to the ICU
        uloc_acceptLanguageFromHTTP function, which allows
        remote attackers to cause a denial of service
        (out-of-bounds read) or possibly have unspecified other
        impact via a call with a long argument.(CVE-2016-6294)
    
      - Session fixation vulnerability in the Sessions
        subsystem in PHP before 5.5.2 allows remote attackers
        to hijack web sessions by specifying a session
        ID.(CVE-2011-4718)
    
      - Off-by-one error in the phar_parse_zipfile function in
        ext/phar/zip.c in PHP before 5.5.30 and 5.6.x before
        5.6.14 allows remote attackers to cause a denial of
        service (uninitialized pointer dereference and
        application crash) by including the / filename in a
        .zip PHAR archive.(CVE-2015-7804)
    
      - The php_wddx_push_element function in ext/wddx/wddx.c
        in PHP before 5.6.26 and 7.x before 7.0.11 allows
        remote attackers to cause a denial of service (invalid
        pointer access and out-of-bounds read) or possibly have
        unspecified other impact via an incorrect boolean
        element in a wddxPacket XML document, leading to
        mishandling in a wddx_deserialize call.(CVE-2016-7418)
    
      - The exif_process_user_comment function in
        ext/exif/exif.c in PHP before 5.5.38, 5.6.x before
        5.6.24, and 7.x before 7.0.9 allows remote attackers to
        cause a denial of service (NULL pointer dereference and
        application crash) via a crafted JPEG
        image.(CVE-2016-6292)
    
      - The make_http_soap_request function in
        ext/soap/php_http.c in PHP before 5.4.44, 5.5.x before
        5.5.28, 5.6.x before 5.6.12, and 7.x before 7.0.4
        allows remote attackers to obtain sensitive information
        from process memory or cause a denial of service (type
        confusion and application crash) via crafted serialized
        _cookies data, related to the SoapClient::__call method
        in ext/soap/soap.c.(CVE-2016-3185)
    
      - Directory traversal vulnerability in the
        ZipArchive::extractTo function in ext/zip/php_zip.c in
        PHP before 5.4.45, 5.5.x before 5.5.29, and 5.6.x
        before 5.6.13 and ext/zip/ext_zip.cpp in HHVM before
        3.12.1 allows remote attackers to create arbitrary
        empty directories via a crafted ZIP
        archive.(CVE-2014-9767)
    
      - The phar_convert_to_other function in
        ext/phar/phar_object.c in PHP before 5.4.43, 5.5.x
        before 5.5.27, and 5.6.x before 5.6.11 does not
        validate a file pointer before a close operation, which
        allows remote attackers to cause a denial of service
        (segmentation fault) or possibly have unspecified other
        impact via a crafted TAR archive that is mishandled in
        a Phar::convertToData call.(CVE-2015-5589)
    
      - Directory traversal vulnerability in the PharData class
        in PHP before 5.4.44, 5.5.x before 5.5.28, and 5.6.x
        before 5.6.12 allows remote attackers to write to
        arbitrary files via a .. (dot dot) in a ZIP archive
        entry that is mishandled during an extractTo
        call.(CVE-2015-6833)
    
      - The phar_get_entry_data function in ext/phar/util.c in
        PHP before 5.5.30 and 5.6.x before 5.6.14 allows remote
        attackers to cause a denial of service (NULL pointer
        dereference and application crash) via a .phar file
        with a crafted TAR archive entry in which the Link
        indicator references a file that does not
        exist.(CVE-2015-7803)
    
      - Stack consumption vulnerability in GD in PHP before
        5.6.12 allows remote attackers to cause a denial of
        service via a crafted imagefilltoborder
        call.(CVE-2015-8874)
    
      - Stack-based buffer overflow in ext/phar/tar.c in PHP
        before 5.5.32, 5.6.x before 5.6.18, and 7.x before
        7.0.3 allows remote attackers to cause a denial of
        service (application crash) or possibly have
        unspecified other impact via a crafted TAR
        archive.(CVE-2016-2554)
    
      - The phar_parse_zipfile function in zip.c in the PHAR
        extension in PHP before 5.5.33 and 5.6.x before 5.6.19
        allows remote attackers to obtain sensitive information
        from process memory or cause a denial of service
        (out-of-bounds read and application crash) by placing a
        PK\x05\x06 signature at an invalid
        location.(CVE-2016-3142)
    
      - ext/session/session.c in PHP before 5.6.25 and 7.x
        before 7.0.10 skips invalid session names in a way that
        triggers incorrect parsing, which allows remote
        attackers to inject arbitrary-type session data by
        leveraging control of a session name, as demonstrated
        by object injection.(CVE-2016-7125)
    
      - The exif_process_IFD_in_TIFF function in
        ext/exif/exif.c in PHP before 5.6.25 and 7.x before
        7.0.10 mishandles the case of a thumbnail offset that
        exceeds the file size, which allows remote attackers to
        obtain sensitive information from process memory via a
        crafted TIFF image.(CVE-2016-7128)
    
      - The get_icu_disp_value_src_php function in
        ext/intl/locale/locale_methods.c in PHP before 5.3.29,
        5.4.x before 5.4.30, and 5.5.x before 5.5.14 does not
        properly restrict calls to the ICU uresbund.cpp
        component, which allows remote attackers to cause a
        denial of service (buffer overflow) or possibly have
        unspecified other impact via a locale_get_display_name
        call with a long first argument.(CVE-2014-9912)
    
      - Use-after-free vulnerability in the SPL unserialize
        implementation in ext/spl/spl_array.c in PHP before
        5.4.44, 5.5.x before 5.5.28, and 5.6.x before 5.6.12
        allows remote attackers to execute arbitrary code via
        crafted serialized data that triggers misuse of an
        array field.(CVE-2015-6832)
    
      - The make_http_soap_request function in
        ext/soap/php_http.c in PHP before 5.4.44, 5.5.x before
        5.5.28, and 5.6.x before 5.6.12 does not properly
        retrieve keys, which allows remote attackers to cause a
        denial of service (NULL pointer dereference, type
        confusion, and application crash) or possibly execute
        arbitrary code via crafted serialized data representing
        a numerically indexed _cookies array, related to the
        SoapClient::__call method in
        ext/soap/soap.c.(CVE-2015-8835)
    
      - The uloc_acceptLanguageFromHTTP function in
        common/uloc.cpp in International Components for Unicode
        (ICU) through 57.1 for C/C++ does not ensure that there
        is a '\0' character at the end of a certain temporary
        array, which allows remote attackers to cause a denial
        of service (out-of-bounds read) or possibly have
        unspecified other impact via a call with a long
        httpAcceptLanguage argument.(CVE-2016-6293)
    
      - When PHP EXIF extension is parsing EXIF information
        from an image, e.g. via exif_read_data() function, in
        PHP versions 7.1.x below 7.1.30, 7.2.x below 7.2.19 and
        7.3.x below 7.3.6 it is possible to supply it with data
        what will cause it to read past the allocated buffer.
        This may lead to information disclosure or
        crash.(CVE-2019-11040)
    
      - When PHP EXIF extension is parsing EXIF information
        from an image, e.g. via exif_read_data() function, in
        PHP versions 7.1.x below 7.1.31, 7.2.x below 7.2.21 and
        7.3.x below 7.3.8 it is possible to supply it with data
        what will cause it to read past the allocated buffer.
        This may lead to information disclosure or
        crash.(CVE-2019-11041)
    
      - When PHP EXIF extension is parsing EXIF information
        from an image, e.g. via exif_read_data() function, in
        PHP versions 7.1.x below 7.1.31, 7.2.x below 7.2.21 and
        7.3.x below 7.3.8 it is possible to supply it with data
        what will cause it to read past the allocated buffer.
        This may lead to information disclosure or
        crash.(CVE-2019-11042)
    
    Note that Tenable Network Security has extracted the preceding
    description block directly from the EulerOS security advisory. Tenable
    has attempted to automatically clean and format it as much as possible
    without introducing additional issues.");
      # https://developer.huaweicloud.com/ict/en/site-euleros/euleros/security-advisories/EulerOS-SA-2019-2438
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?72902c09");
      script_set_attribute(attribute:"solution", value:
    "Update the affected php packages.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:F/RL:OF/RC:C");
      script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:F/RL:O/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"metasploit_name", value:'PHP-FPM Underflow RCE');
      script_set_attribute(attribute:"exploit_framework_metasploit", value:"true");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2019/12/04");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/12/04");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-cli");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-common");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-gd");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-ldap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-mysql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-odbc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-pdo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-pgsql");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-process");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-recode");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-soap");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-xml");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:php-xmlrpc");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:huawei:euleros:2.0");
      script_set_attribute(attribute:"generated_plugin", value:"current");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Huawei Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/EulerOS/release", "Host/EulerOS/rpm-list", "Host/EulerOS/sp");
      script_exclude_keys("Host/EulerOS/uvp_version");
    
      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/EulerOS/release");
    if (isnull(release) || release !~ "^EulerOS") audit(AUDIT_OS_NOT, "EulerOS");
    if (release !~ "^EulerOS release 2\.0(\D|$)") audit(AUDIT_OS_NOT, "EulerOS 2.0");
    
    sp = get_kb_item("Host/EulerOS/sp");
    if (isnull(sp) || sp !~ "^(2)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP2", "EulerOS UVP " + uvp);
    
    if (!get_kb_item("Host/EulerOS/rpm-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$" && "aarch64" >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, "EulerOS", cpu);
    if ("x86_64" >!< cpu && cpu !~ "^i[3-6]86$") audit(AUDIT_ARCH_NOT, "i686 / x86_64", cpu);
    
    flag = 0;
    
    pkgs = ["php-5.4.16-42.h63",
            "php-cli-5.4.16-42.h63",
            "php-common-5.4.16-42.h63",
            "php-gd-5.4.16-42.h63",
            "php-ldap-5.4.16-42.h63",
            "php-mysql-5.4.16-42.h63",
            "php-odbc-5.4.16-42.h63",
            "php-pdo-5.4.16-42.h63",
            "php-pgsql-5.4.16-42.h63",
            "php-process-5.4.16-42.h63",
            "php-recode-5.4.16-42.h63",
            "php-soap-5.4.16-42.h63",
            "php-xml-5.4.16-42.h63",
            "php-xmlrpc-5.4.16-42.h63"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"2", reference:pkg)) flag++;
    
    if (flag)
    {
      security_report_v4(
        port       : 0,
        severity   : SECURITY_HOLE,
        extra      : rpm_report_get()
      );
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "php");
    }
    

The Hacker News

idTHN:ADC5E0B7C8DF1100E34C28AC74897A50
last seen2018-01-27
modified2016-12-29
published2016-12-28
reporterSwati Khandelwal
sourcehttps://thehackernews.com/2016/12/php-7-update.html
title3 Critical Zero-Day Flaws Found in PHP 7 — One Remains Unpatched!