Vulnerabilities > CVE-2016-8619 - Double Free vulnerability in Haxx Curl

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
haxx
CWE-415
critical
nessus

Summary

The function `read_data()` in security.c in curl before version 7.51.0 is vulnerable to memory double free.

Vulnerable Configurations

Part Description Count
Application
Haxx
133

Common Weakness Enumeration (CWE)

Nessus

  • NASL familyMisc.
    NASL idORACLE_SECURE_GLOBAL_DESKTOP_APR_2017_CPU.NASL
    descriptionThe version of Oracle Secure Global Desktop installed on the remote host is 4.71, 5.2, or 5.3 and is missing a security patch from the April 2017 Critical Patch Update (CPU). It is, therefore, affected by multiple vulnerabilities : - An integer overflow condition exists in the Window System (X11) subcomponent in multiple functions in X.Org libExt due to improper validation of user-supplied input when calculating the amount of memory required to handle return data. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. Note that this issue only affects version 4.71. (CVE-2013-1982) - An integer overflow condition exists in X.Org libXfixes in the XFixesGetCursorImage() function when handling large cursor dimensions or name lengths due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1983) - An integer overflow condition exists within multiple functions in X.Org libXi due to improper validation of user-supplied input when calculating the amount of memory needed to handle return data. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1984) - An integer overflow condition exists in X.Org libXinerama in the XineramaQueryScreens() function due to improper validation of user-supplied input when calculating the amount of memory needed to handle return data. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1985) - An integer overflow condition exists in multiple functions in X.Org libXrandr due to improper validation of user-supplied input when calculating the amount of memory needed to handle return data. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1986) - An integer overflow condition exists in multiple functions in X.Org libXrender due to improper validation of user-supplied input when calculating the amount of memory needed to handle return data. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1987) - An overflow condition exists in X.Org libXi in the XListInputDevices() function, related to an unexpected sign extension, due to improper checking of the amount of memory needed to handle returned data when converting smaller integer types to larger ones. An unauthenticated, remote attacker can exploit this to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1995) - An overflow condition exists within multiple functions in X.Org LibXi due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, via a specially crafted length or index, to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-1998) - An overflow condition exists in X.Org LibXt in the _XtResourceConfigurationEH() function due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, via a specially crafted length or index, to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-2002) - An integer overflow condition exists in X.Org libXcursor in the _XcursorFileHeaderCreate() function due to improper validation of user-supplied input. An unauthenticated, remote attacker can exploit this, via a specially crafted file, to cause a denial of service condition or the execution of arbitrary code. (CVE-2013-2003) - An uninitialized pointer flaw exists within multiple functions in X.Org LibXt due to a failure to check for proper initialization of pointers. An unauthenticated, remote attacker can exploit this to corrupt memory, resulting in a denial of service condition or the possible execution of arbitrary code. (CVE-2013-2005) - A flaw exists in the Application Server subcomponent (Apache Tomcat) due to a failure to process passwords when they are paired with non-existent usernames. An authenticated, remote attacker can exploit this, via a timing attack, to enumerate user account names. (CVE-2016-0762) - Multiple integer overflow conditions exist in s3_srvr.c, ssl_sess.c, and t1_lib.c due to improper use of pointer arithmetic for heap-buffer boundary checks. An unauthenticated, remote attacker can exploit these to cause a denial of service. (CVE-2016-2177) - An information disclosure vulnerability exists in the dsa_sign_setup() function in dsa_ossl.c due to a failure to properly ensure the use of constant-time operations. An unauthenticated, remote attacker can exploit this, via a timing side-channel attack, to disclose DSA key information. (CVE-2016-2178) - A denial of service vulnerability exists in the DTLS implementation due to a failure to properly restrict the lifetime of queue entries associated with unused out-of-order messages. An unauthenticated, remote attacker can exploit this, by maintaining multiple crafted DTLS sessions simultaneously, to exhaust memory. (CVE-2016-2179) - An out-of-bounds read error exists in the X.509 Public Key Infrastructure Time-Stamp Protocol (TSP) implementation. An unauthenticated, remote attacker can exploit this, via a crafted time-stamp file that is mishandled by the
    last seen2020-06-01
    modified2020-06-02
    plugin id99930
    published2017-05-02
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99930
    titleOracle Secure Global Desktop Multiple Vulnerabilities (April 2017 CPU) (SWEET32)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(99930);
      script_version("1.7");
      script_cvs_date("Date: 2019/11/13");
    
      script_cve_id(
        "CVE-2013-1982",
        "CVE-2013-1983",
        "CVE-2013-1984",
        "CVE-2013-1985",
        "CVE-2013-1986",
        "CVE-2013-1987",
        "CVE-2013-1995",
        "CVE-2013-1998",
        "CVE-2013-2002",
        "CVE-2013-2003",
        "CVE-2013-2005",
        "CVE-2016-0762",
        "CVE-2016-2177",
        "CVE-2016-2178",
        "CVE-2016-2179",
        "CVE-2016-2180",
        "CVE-2016-2181",
        "CVE-2016-2182",
        "CVE-2016-2183",
        "CVE-2016-3739",
        "CVE-2016-4802",
        "CVE-2016-5018",
        "CVE-2016-5407",
        "CVE-2016-5419",
        "CVE-2016-5420",
        "CVE-2016-5421",
        "CVE-2016-6302",
        "CVE-2016-6303",
        "CVE-2016-6304",
        "CVE-2016-6305",
        "CVE-2016-6306",
        "CVE-2016-6307",
        "CVE-2016-6308",
        "CVE-2016-6794",
        "CVE-2016-6796",
        "CVE-2016-6797",
        "CVE-2016-6816",
        "CVE-2016-6817",
        "CVE-2016-7055",
        "CVE-2016-8615",
        "CVE-2016-8616",
        "CVE-2016-8617",
        "CVE-2016-8618",
        "CVE-2016-8619",
        "CVE-2016-8620",
        "CVE-2016-8621",
        "CVE-2016-8622",
        "CVE-2016-8623",
        "CVE-2016-8624",
        "CVE-2016-8625",
        "CVE-2016-8735",
        "CVE-2016-8743",
        "CVE-2017-3730",
        "CVE-2017-3731",
        "CVE-2017-3732"
      );
      script_bugtraq_id(
        60121,
        60123,
        60124,
        60125,
        60126,
        60127,
        60128,
        60129,
        60132,
        60133,
        60137,
        90726,
        90997,
        91081,
        91319,
        92117,
        92292,
        92306,
        92309,
        92557,
        92628,
        92630,
        92982,
        92984,
        92987,
        93149,
        93150,
        93151,
        93152,
        93153,
        93368,
        93939,
        93940,
        93942,
        93943,
        93944,
        94094,
        94096,
        94097,
        94098,
        94100,
        94101,
        94102,
        94103,
        94105,
        94106,
        94107,
        94242,
        94461,
        94462,
        94463,
        95077,
        95812,
        95813,
        95814
      );
      script_xref(name:"EDB-ID", value:"41783");
    
      script_name(english:"Oracle Secure Global Desktop Multiple Vulnerabilities (April 2017 CPU) (SWEET32)");
      script_summary(english:"Checks the version of Oracle Secure Global Desktop.");
    
      script_set_attribute(attribute:"synopsis", value:
    "An application installed on the remote host is affected by multiple
    vulnerabilities.");
      script_set_attribute(attribute:"description", value:
    "The version of Oracle Secure Global Desktop installed on the remote
    host is 4.71, 5.2, or 5.3 and is missing a security patch from the
    April 2017 Critical Patch Update (CPU). It is, therefore, affected by
    multiple vulnerabilities :
    
      - An integer overflow condition exists in the Window System
        (X11) subcomponent in multiple functions in X.Org libExt
        due to improper validation of user-supplied input when
        calculating the amount of memory required to handle
        return data. An unauthenticated, remote attacker can
        exploit this to cause a denial of service condition or
        the execution of arbitrary code. Note that this issue
        only affects version 4.71. (CVE-2013-1982)
    
      - An integer overflow condition exists in X.Org libXfixes
        in the XFixesGetCursorImage() function when handling
        large cursor dimensions or name lengths due to improper
        validation of user-supplied input. An unauthenticated,
        remote attacker can exploit this to cause a denial of
        service condition or the execution of arbitrary code.
        (CVE-2013-1983)
    
      - An integer overflow condition exists within multiple
        functions in X.Org libXi due to improper validation of
        user-supplied input when calculating the amount of
        memory needed to handle return data. An unauthenticated,
        remote attacker can exploit this to cause a denial of
        service condition or the execution of arbitrary code.
        (CVE-2013-1984)
    
      - An integer overflow condition exists in X.Org
        libXinerama in the XineramaQueryScreens() function due
        to improper validation of user-supplied input when
        calculating the amount of memory needed to handle return
        data. An unauthenticated, remote attacker can exploit
        this to cause a denial of service condition or the
        execution of arbitrary code. (CVE-2013-1985)
    
      - An integer overflow condition exists in multiple
        functions in X.Org libXrandr due to improper validation
        of user-supplied input when calculating the amount of
        memory needed to handle return data. An unauthenticated,
        remote attacker can exploit this to cause a denial of
        service condition or the execution of arbitrary code.
        (CVE-2013-1986)
    
      - An integer overflow condition exists in multiple
        functions in X.Org libXrender due to improper validation
        of user-supplied input when calculating the amount of
        memory needed to handle return data. An unauthenticated,
        remote attacker can exploit this to cause a denial of
        service condition or the execution of arbitrary code.
        (CVE-2013-1987)
    
      - An overflow condition exists in X.Org libXi in the
        XListInputDevices() function, related to an unexpected
        sign extension, due to improper checking of the amount
        of memory needed to handle returned data when converting
        smaller integer types to larger ones. An
        unauthenticated, remote attacker can exploit this to
        cause a denial of service condition or the execution of
        arbitrary code. (CVE-2013-1995)
    
      - An overflow condition exists within multiple functions
        in X.Org LibXi due to improper validation of
        user-supplied input. An unauthenticated, remote attacker
        can exploit this, via a specially crafted length or
        index, to cause a denial of service condition or the
        execution of arbitrary code. (CVE-2013-1998)
    
      - An overflow condition exists in X.Org LibXt in the
        _XtResourceConfigurationEH() function due to improper
        validation of user-supplied input. An unauthenticated,
        remote attacker can exploit this, via a specially
        crafted length or index, to cause a denial of service
        condition or the execution of arbitrary code.
        (CVE-2013-2002)
    
      - An integer overflow condition exists in X.Org libXcursor
        in the  _XcursorFileHeaderCreate() function due to
        improper validation of user-supplied input. An
        unauthenticated, remote attacker can exploit this, via
        a specially crafted file, to cause a denial of service
        condition or the execution of arbitrary code.
        (CVE-2013-2003)
    
      - An uninitialized pointer flaw exists within multiple
        functions in X.Org LibXt due to a failure to check for
        proper initialization of pointers. An unauthenticated,
        remote attacker can exploit this to corrupt memory,
        resulting in a denial of service condition or the
        possible execution of arbitrary code. (CVE-2013-2005)
    
      - A flaw exists in the Application Server subcomponent
        (Apache Tomcat) due to a failure to process passwords
        when they are paired with non-existent usernames. An
        authenticated, remote attacker can exploit this, via a
        timing attack, to enumerate user account names.
        (CVE-2016-0762)
    
      - Multiple integer overflow conditions exist in s3_srvr.c,
        ssl_sess.c, and t1_lib.c due to improper use of pointer
        arithmetic for heap-buffer boundary checks. An
        unauthenticated, remote attacker can exploit these to
        cause a denial of service. (CVE-2016-2177)
    
      - An information disclosure vulnerability exists in the
        dsa_sign_setup() function in dsa_ossl.c due to a failure
        to properly ensure the use of constant-time operations.
        An unauthenticated, remote attacker can exploit this,
        via a timing side-channel attack, to disclose DSA key
        information. (CVE-2016-2178)
    
      - A denial of service vulnerability exists in the DTLS
        implementation due to a failure to properly restrict the
        lifetime of queue entries associated with unused
        out-of-order messages. An unauthenticated, remote
        attacker can exploit this, by maintaining multiple
        crafted DTLS sessions simultaneously, to exhaust memory.
        (CVE-2016-2179)
    
      - An out-of-bounds read error exists in the X.509 Public
        Key Infrastructure Time-Stamp Protocol (TSP)
        implementation. An unauthenticated, remote attacker can
        exploit this, via a crafted time-stamp file that is
        mishandled by the 'openssl ts' command, to cause a
        denial of service or to disclose sensitive information.
        (CVE-2016-2180)
    
      - A denial of service vulnerability exists in the
        Anti-Replay feature in the DTLS implementation due to
        improper handling of epoch sequence numbers in records.
        An unauthenticated, remote attacker can exploit this,
        via spoofed DTLS records, to cause legitimate packets to
        be dropped. (CVE-2016-2181)
    
      - An overflow condition exists in the BN_bn2dec() function
        in bn_print.c due to improper validation of
        user-supplied input when handling BIGNUM values. An
        unauthenticated, remote attacker can exploit this to
        crash the process. (CVE-2016-2182)
    
      - A vulnerability exists, known as SWEET32, in the 3DES
        and Blowfish algorithms due to the use of weak 64-bit
        block ciphers by default. A man-in-the-middle attacker
        who has sufficient resources can exploit this
        vulnerability, via a 'birthday' attack, to detect a
        collision that leaks the XOR between the fixed secret
        and a known plaintext, allowing the disclosure of the
        secret text, such as secure HTTPS cookies, and possibly
        resulting in the hijacking of an authenticated session.
        (CVE-2016-2183)
    
      - A flaw exists in the Core subcomponent, specifically in
        the libcurl library, due to improper validation of TLS
        certificates. An authenticated, remote attacker with the
        ability to intercept network traffic can exploit this
        issue to disclose or manipulate transmitted data by
        spoofing the TLS/SSL server using a certificate that
        appears valid. Note that this issue only affects
        versions 5.2 and 5.3. (CVE-2016-3739)
    
      - A flaw exists in cURL and libcurl when loading dynamic
        link library (DLL) files security.dll, secur32.dll, or
        ws2_32.dll due searching an insecure path which may not
        be trusted or under user control. A local attacker can
        exploit this, via a Trojan DLL file placed in the search
        path, to execute arbitrary code with the privileges of
        the user running the program. (CVE-2016-4802)
    
      - A security bypass vulnerability exists in Apache Tomcat
        due to an unspecified flaw related to web applications.
        A local attacker can exploit this, via a utility method
        that is available to web applications, to bypass a
        configured SecurityManager. (CVE-2016-5018)
    
      - An out-of-bounds access error exists in the Window
        System (X11) subcomponent, specifically in the
        XvQueryAdaptors() function in file Xv.c, when handling
        server responses. An authenticated, remote attacker can
        exploit this to impact confidentiality, integrity, and
        availability. (CVE-2016-5407)
    
      - A use-after-free error exists in cURL and libcurl within
        file lib/vtls/vtls.c due to the program attempting to
        resume TLS sessions even if the client certificate
        fails. An unauthenticated, remote attacker can exploit
        this to bypass validation mechanisms, allowing the
        attacker to possibly control which connection is used.
        (CVE-2016-5419)
    
      - A flaw exists in cURL and libcurl in the
        Curl_ssl_config_matches() function within file
        lib/vtls/vtls.c due to the program reusing TLS
        connections with different client certificates. An
        unauthenticated, remote attacker can exploit this to
        disclose sensitive cross-realm information.
        (CVE-2016-5420)
    
      - A use-after-free error exists in cURL and libcurl in
        in the close_all_connections() function within file
        lib/multi.c due to connection pointers not being
        properly cleared. An unauthenticated, remote attacker
        can exploit this to have an unspecified impact on
        confidentiality, integrity, and availability.
        (CVE-2016-5421)
    
      - A flaw exists in the tls_decrypt_ticket() function
        in t1_lib.c due to improper handling of ticket HMAC
        digests. An unauthenticated, remote attacker can exploit
        this, via a ticket that is too short, to crash the
        process, resulting in a denial of service.
        (CVE-2016-6302)
    
      - An integer overflow condition exists in the
        MDC2_Update() function in mdc2dgst.c due to improper
        validation of user-supplied input. An unauthenticated,
        remote attacker can exploit this to cause a heap-based
        buffer overflow, resulting in a denial of service
        condition or possibly the execution of arbitrary code.
        (CVE-2016-6303)
    
      - A flaw exists in the ssl_parse_clienthello_tlsext()
        function in t1_lib.c due to improper handling of overly
        large OCSP Status Request extensions from clients. An
        unauthenticated, remote attacker can exploit this, via
        large OCSP Status Request extensions, to exhaust memory
        resources, resulting in a denial of service condition.
        (CVE-2016-6304)
    
      - A flaw exists in the SSL_peek() function in
        rec_layer_s3.c due to improper handling of empty
        records. An unauthenticated, remote attacker can exploit
        this, by triggering a zero-length record in an SSL_peek
        call, to cause an infinite loop, resulting in a denial
        of service condition. (CVE-2016-6305)
    
      - An out-of-bounds read error exists in the certificate
        parser that allows an unauthenticated, remote attacker
        to cause a denial of service via crafted certificate
        operations. (CVE-2016-6306)
    
      - A denial of service vulnerability exists in the
        state-machine implementation due to a failure to check
        for an excessive length before allocating memory. An
        unauthenticated, remote attacker can exploit this, via a
        crafted TLS message, to exhaust memory resources.
        (CVE-2016-6307)
    
      - A denial of service vulnerability exists in the DTLS
        implementation due to improper handling of excessively
        long DTLS messages. An unauthenticated, remote attacker
        can exploit this, via a crafted DTLS message, to exhaust
        available memory resources. (CVE-2016-6308)
    
      - A flaw exists in Apache Tomcat within SecurityManager
        due to improper restriction of access to system
        properties by the configuration files system property
        replacement feature. A local attacker can exploit this,
        via a crafted web application, to bypass SecurityManager
        restrictions and disclose system properties.
        (CVE-2016-6794)
    
      - A flaw exists in Apache Tomcat that allows a local
        attacker to bypass a configured SecurityManager by
        changing the configuration parameters for the JSP
        Servlet. (CVE-2016-6796)
    
      - A flaw exists in Apache Tomcat due to a failure to limit
        web application access to global JNDI resources. A local
        attacker can exploit this to gain unauthorized access to
        resources. (CVE-2016-6797)
    
      - A flaw exists in Apache Tomcat when handling request
        lines containing certain invalid characters. An
        unauthenticated, remote attacker can exploit this to
        conduct HTTP response splitting attacks by injecting
        additional headers into responses. (CVE-2016-6816)
    
      - An infinite loop condition exists in Apache Tomcat in
        the HTTP/2 parser when handling overly large headers. An
        unauthenticated, remote attacker can exploit this, via a
        specially crafted request, to cause a denial of service
        condition. (CVE-2016-6817)
    
      - A carry propagation error exists in the
        Broadwell-specific Montgomery multiplication procedure
        when handling input lengths divisible by but longer than
        256 bits. This can result in transient authentication
        and key negotiation failures or reproducible erroneous
        outcomes of public-key operations with specially crafted
        input. A man-in-the-middle attacker can possibly exploit
        this issue to compromise ECDH key negotiations that
        utilize Brainpool P-512 curves. (CVE-2016-7055)
    
      - A flaw exists in cURL in the Curl_cookie_init() function
        within file lib/cookie.c when handling cookies. An
        unauthenticated, remote attacker can exploit this to
        inject new cookies for arbitrary domains.
        (CVE-2016-8615)
    
      - A flaw exists in cURL in the ConnectionExists() function
        within file lib/url.c when checking credentials supplied
        for reused connections due to the comparison being
        case-insensitive. An unauthenticated, remote attacker
        can exploit this to authenticate without knowing the
        proper case of the username and password.
        (CVE-2016-8616)
    
      - An integer overflow condition exists in cURL in the
        base64_encode() function within file lib/base64.c due to
        improper validation of certain input. An
        unauthenticated, remote attacker can exploit this to
        cause a denial of service condition or the execution of
        arbitrary code. (CVE-2016-8617)
    
      - A denial of service vulnerability exists in cURL in the
        alloc_addbyter() function within file lib/mprintf.c due
        to improper validation of overly long input when it is
        supplied to the curl_maprintf() API method. An
        unauthenticated, remote attacker can exploit this to
        free already freed memory and thereby crash the program.
        (CVE-2016-8618)
    
      - A double-free error exists in cURL in the read_data()
        function within file lib/security.c when handling
        Kerberos authentication. An unauthenticated, remote
        attacker can exploit this to free already freed memory,
        resulting in an unspecified impact on confidentiality,
        integrity, and availability. (CVE-2016-8619)
    
      - An out-of-bounds access error exists in cURL in file
        tool_urlglob.c within the globbing feature. An
        unauthenticated, remote attacker can exploit this to
        disclose memory contents or execute arbitrary code.
        (CVE-2016-8620)
    
      - An out-of-bounds error exists in cURL in the parsedate()
        function within file lib/parsedate.c when handling
        dates. An unauthenticated, remote attacker can exploit
        this to disclose memory contents or cause a denial of
        service condition. (CVE-2016-8621)
    
      - An integer truncation error exists in cURL in the
        curl_easy_unescape() function within file lib/escape.c
        when handling overly large URLs. An unauthenticated,
        remote attacker can exploit this to cause a denial of
        service condition or the execution of arbitrary code.
        (CVE-2016-8622)
    
      - A use-after-free error exists in cURL within file
        lib/cookie.c when handling shared cookies. An
        unauthenticated, remote attacker can exploit this to
        disclose memory contents. (CVE-2016-8623)
    
      - A flaw exists in cURL in the parseurlandfillconn()
        function within file lib/url.c when parsing the
        authority component of a URL with the host name part
        ending in a '#' character. An unauthenticated, remote
        attacker can exploit this to establish a connection to
        a different host than intended. (CVE-2016-8624)
    
      - A flaw exists in cURL within International Domain Names
        (IDNA) handling when translating domain names to puny
        code for DNS resolving due to using the outdated IDNA
        2003 standard instead of the IDNA 2008 standard, which
        can result in incorrect translation of a domain name.
        An unauthenticated, remote attacker can exploit this to
        cause network traffic to be redirected to a different
        host than intended. (CVE-2016-8625)
    
      - A flaw exists in Apache Tomcat within the
        catalina/mbeans/JmxRemoteLifecycleListener.java class
        that is triggered during the deserialization of Java
        objects. An unauthenticated, remote attacker can exploit
        this to execute arbitrary code. (CVE-2016-8735)
    
      - A flaw exists in the Web Server component (Apache HTTP
        Server) when handling whitespace patterns in User-Agent
        headers. An authenticated, remote attacker can exploit
        this, via a specially crafted User-Agent header, to
        cause incorrect processing of sequences of requests,
        resulting in incorrectly interpreting responses,
        polluting the cache, or disclosing content from one
        request to a second downstream user-agent.
        (CVE-2016-8743)
    
      - A NULL pointer dereference flaw exists within file
        ssl/statem/statem_clnt.c when handling parameters for
        the DHE or ECDHE key exchanges. An unauthenticated,
        remote attacker can exploit this, via specially crafted
        parameters, to cause a denial of service condition.
        (CVE-2017-3730)
    
      - A out-of-bounds read error exists exists in the Core
        subcomponent, specifically in OpenSSL, when handling
        packets using the CHACHA20/POLY1305 or RC4-MD5 ciphers.
        An unauthenticated, remote attacker can exploit this,
        via specially crafted truncated packets, to cause a
        denial of service condition. (CVE-2017-3731)
    
      - A carry propagating error exists in the x86_64
        Montgomery squaring implementation that may cause the
        BN_mod_exp() function to produce incorrect results. An
        unauthenticated, remote attacker with sufficient
        resources can exploit this to obtain sensitive
        information regarding private keys. Note that this issue
        is very similar to CVE-2015-3193. Moreover, the attacker
        would additionally need online access to an unpatched
        system using the target private key in a scenario with
        persistent DH parameters and a private key that is
        shared between multiple clients. For example, this can
        occur by default in OpenSSL DHE based SSL/TLS cipher
        suites. (CVE-2017-3732)
    
    Note that Nessus has not tested for these issues but has instead
    relied only on the application's self-reported version number.");
      # http://www.oracle.com/technetwork/security-advisory/cpuapr2017-3236618.html
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?623d2c22");
      script_set_attribute(attribute:"see_also", value:"https://sweet32.info/");
      script_set_attribute(attribute:"see_also", value:"https://www.openssl.org/blog/blog/2016/08/24/sweet32/");
      script_set_attribute(attribute:"solution", value:
    "Apply the appropriate patch according to the April 2017 Oracle
    Critical Patch Update advisory.");
      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:POC/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:P/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2016-8735");
    
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"in_the_news", value:"true");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2013/05/23");
      script_set_attribute(attribute:"patch_publication_date", value:"2017/04/18");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/05/02");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:virtualization_secure_global_desktop");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Misc.");
    
      script_copyright(english:"This script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("oracle_secure_global_desktop_installed.nbin");
      script_require_keys("Host/Oracle_Secure_Global_Desktop/Version");
    
      exit(0);
    }
    
    include("audit.inc");
    include("global_settings.inc");
    include("misc_func.inc");
    
    app = "Oracle Secure Global Desktop";
    version = get_kb_item_or_exit("Host/Oracle_Secure_Global_Desktop/Version");
    
    # this check is for Oracle Secure Global Desktop packages
    # built for Linux platform
    uname = get_kb_item_or_exit("Host/uname");
    if ("Linux" >!< uname) audit(AUDIT_OS_NOT, "Linux");
    
    fix_required = NULL;
    
    if (version =~ "^5\.30($|\.)") fix_required = 'Patch_53p1';
    else if (version =~ "^5\.20($|\.)") fix_required = 'Patch_52p8';
    else if (version =~ "^4\.71($|\.)") fix_required = 'Patch_471p11';
    
    if (isnull(fix_required)) audit(AUDIT_INST_VER_NOT_VULN, "Oracle Secure Global Desktop", version);
    
    patches = get_kb_list("Host/Oracle_Secure_Global_Desktop/Patches");
    
    patched = FALSE;
    foreach patch (patches)
    {
      if (patch == fix_required)
      {
        patched = TRUE;
        break;
      }
    }
    
    if (patched) audit(AUDIT_INST_VER_NOT_VULN, app, version + ' (with ' + fix_required + ')');
    
    report = '\n  Installed version : ' + version +
               '\n  Patch required    : ' + fix_required +
               '\n';
    security_report_v4(port:0, extra:report, severity:SECURITY_HOLE);
    
  • NASL familyAmazon Linux Local Security Checks
    NASL idALA_ALAS-2016-766.NASL
    descriptionThis build resolves the following issues : CVE-2016-8615 : Cookie injection for other servers CVE-2016-8616 : Case insensitive password comparison CVE-2016-8617 : Out-of-bounds write via unchecked multiplication CVE-2016-8618 : Double-free in curl_maprintf CVE-2016-8619 : Double-free in krb5 code CVE-2016-8620 : Glob parser write/read out of bounds CVE-2016-8621 : curl_getdate out-of-bounds read CVE-2016-8622 : URL unescape heap overflow via integer truncation CVE-2016-8623 : Use-after-free via shared cookies CVE-2016-8624 : Invalid URL parsing with
    last seen2020-06-01
    modified2020-06-02
    plugin id94686
    published2016-11-11
    reporterThis script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94686
    titleAmazon Linux AMI : curl (ALAS-2016-766)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Amazon Linux AMI Security Advisory ALAS-2016-766.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(94686);
      script_version("2.3");
      script_cvs_date("Date: 2018/10/01 10:24:12");
    
      script_cve_id("CVE-2016-8615", "CVE-2016-8616", "CVE-2016-8617", "CVE-2016-8618", "CVE-2016-8619", "CVE-2016-8620", "CVE-2016-8621", "CVE-2016-8622", "CVE-2016-8623", "CVE-2016-8624");
      script_xref(name:"ALAS", value:"2016-766");
    
      script_name(english:"Amazon Linux AMI : curl (ALAS-2016-766)");
      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:
    "This build resolves the following issues :
    
    CVE-2016-8615 : Cookie injection for other servers
    
    CVE-2016-8616 : Case insensitive password comparison
    
    CVE-2016-8617 : Out-of-bounds write via unchecked multiplication
    
    CVE-2016-8618 : Double-free in curl_maprintf
    
    CVE-2016-8619 : Double-free in krb5 code
    
    CVE-2016-8620 : Glob parser write/read out of bounds
    
    CVE-2016-8621 : curl_getdate out-of-bounds read
    
    CVE-2016-8622 : URL unescape heap overflow via integer truncation
    
    CVE-2016-8623 : Use-after-free via shared cookies
    
    CVE-2016-8624 : Invalid URL parsing with '#'"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://alas.aws.amazon.com/ALAS-2016-766.html"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Run 'yum update curl' 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:curl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:curl-debuginfo");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:libcurl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:amazon:linux:libcurl-devel");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:amazon:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2016/11/10");
      script_set_attribute(attribute:"plugin_publication_date", value:"2016/11/11");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof.");
      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:"curl-7.47.1-9.66.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"curl-debuginfo-7.47.1-9.66.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"libcurl-7.47.1-9.66.amzn1")) flag++;
    if (rpm_check(release:"ALA", reference:"libcurl-devel-7.47.1-9.66.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, "curl / curl-debuginfo / libcurl / libcurl-devel");
    }
    
  • NASL familyGentoo Local Security Checks
    NASL idGENTOO_GLSA-201701-47.NASL
    descriptionThe remote host is affected by the vulnerability described in GLSA-201701-47 (cURL: Multiple vulnerabilities) Multiple vulnerabilities have been discovered in cURL. Please review the CVE identifiers and bug reports referenced for details. Impact : Remote attackers could conduct a Man-in-the-Middle attack to obtain sensitive information, cause a Denial of Service condition, or execute arbitrary code. Workaround : There is no known workaround at this time.
    last seen2020-06-01
    modified2020-06-02
    plugin id96644
    published2017-01-20
    reporterThis script is Copyright (C) 2017 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/96644
    titleGLSA-201701-47 : cURL: Multiple vulnerabilities
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from Gentoo Linux Security Advisory GLSA 201701-47.
    #
    # The advisory text is Copyright (C) 2001-2017 Gentoo Foundation, Inc.
    # and licensed under the Creative Commons - Attribution / Share Alike 
    # license. See http://creativecommons.org/licenses/by-sa/3.0/
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(96644);
      script_version("$Revision: 3.1 $");
      script_cvs_date("$Date: 2017/01/20 15:01:13 $");
    
      script_cve_id("CVE-2014-8150", "CVE-2014-8151", "CVE-2016-0755", "CVE-2016-3739", "CVE-2016-5419", "CVE-2016-5420", "CVE-2016-5421", "CVE-2016-7141", "CVE-2016-7167", "CVE-2016-8615", "CVE-2016-8616", "CVE-2016-8617", "CVE-2016-8618", "CVE-2016-8619", "CVE-2016-8620", "CVE-2016-8621", "CVE-2016-8622", "CVE-2016-8623", "CVE-2016-8624", "CVE-2016-8625", "CVE-2016-9586", "CVE-2016-9594");
      script_xref(name:"GLSA", value:"201701-47");
    
      script_name(english:"GLSA-201701-47 : cURL: Multiple vulnerabilities");
      script_summary(english:"Checks for updated package(s) in /var/db/pkg");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:
    "The remote Gentoo host is missing one or more security-related
    patches."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "The remote host is affected by the vulnerability described in GLSA-201701-47
    (cURL: Multiple vulnerabilities)
    
        Multiple vulnerabilities have been discovered in cURL. Please review the
          CVE identifiers and bug reports referenced for details.
      
    Impact :
    
        Remote attackers could conduct a Man-in-the-Middle attack to obtain
          sensitive information, cause a Denial of Service condition, or execute
          arbitrary code.
      
    Workaround :
    
        There is no known workaround at this time."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://security.gentoo.org/glsa/201701-47"
      );
      script_set_attribute(
        attribute:"solution", 
        value:
    "All cURL users should upgrade to the latest version:
          # emerge --sync
          # emerge --ask --oneshot --verbose '>=net-misc/curl-7.52.1'"
      );
      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:gentoo:linux:curl");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:gentoo:linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2017/01/19");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/01/20");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2017 Tenable Network Security, Inc.");
      script_family(english:"Gentoo Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/Gentoo/release", "Host/Gentoo/qpkg-list");
    
      exit(0);
    }
    
    
    include("audit.inc");
    include("global_settings.inc");
    include("qpkg.inc");
    
    if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
    if (!get_kb_item("Host/Gentoo/release")) audit(AUDIT_OS_NOT, "Gentoo");
    if (!get_kb_item("Host/Gentoo/qpkg-list")) audit(AUDIT_PACKAGE_LIST_MISSING);
    
    
    flag = 0;
    
    if (qpkg_check(package:"net-misc/curl", unaffected:make_list("ge 7.52.1"), vulnerable:make_list("lt 7.52.1"))) flag++;
    
    if (flag)
    {
      if (report_verbosity > 0) security_hole(port:0, extra:qpkg_report_get());
      else security_hole(0);
      exit(0);
    }
    else
    {
      tested = qpkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "cURL");
    }
    
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2017-1036.NASL
    descriptionAccording to the versions of the curl packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - Multiple integer overflows in the (1) curl_escape, (2) curl_easy_escape, (3) curl_unescape, and (4) curl_easy_unescape functions in libcurl before 7.50.3 allow attackers to have unspecified impact via a string of length 0xffffffff, which triggers a heap-based buffer overflow.(CVE-2016-7167) - ** RESERVED ** This candidate has been reserved by an organization or individual that will use it when announcing a new security problem. When the candidate has been publicized, the details for this candidate will be provided.(CVE-2016-8615,CVE-2016-8616,CVE-2016-8617,CVE -2016-8618,CVE-2016-8619,CVE-2016-8621,CVE-2016-8622,CV E-2016-8623,CVE-2016-8624) 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.
    last seen2020-05-06
    modified2017-05-01
    plugin id99881
    published2017-05-01
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99881
    titleEulerOS 2.0 SP1 : curl (EulerOS-SA-2017-1036)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(99881);
      script_version("1.12");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/05/04");
    
      script_cve_id(
        "CVE-2016-7167",
        "CVE-2016-8615",
        "CVE-2016-8616",
        "CVE-2016-8617",
        "CVE-2016-8618",
        "CVE-2016-8619",
        "CVE-2016-8621",
        "CVE-2016-8622",
        "CVE-2016-8623",
        "CVE-2016-8624"
      );
    
      script_name(english:"EulerOS 2.0 SP1 : curl (EulerOS-SA-2017-1036)");
      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 curl packages installed, the EulerOS
    installation on the remote host is affected by the following
    vulnerabilities :
    
      - Multiple integer overflows in the (1) curl_escape, (2)
        curl_easy_escape, (3) curl_unescape, and (4)
        curl_easy_unescape functions in libcurl before 7.50.3
        allow attackers to have unspecified impact via a string
        of length 0xffffffff, which triggers a heap-based
        buffer overflow.(CVE-2016-7167)
    
      - ** RESERVED ** This candidate has been reserved by an
        organization or individual that will use it when
        announcing a new security problem. When the candidate
        has been publicized, the details for this candidate
        will be
        provided.(CVE-2016-8615,CVE-2016-8616,CVE-2016-8617,CVE
        -2016-8618,CVE-2016-8619,CVE-2016-8621,CVE-2016-8622,CV
        E-2016-8623,CVE-2016-8624)
    
    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-2017-1036
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?a4651f03");
      script_set_attribute(attribute:"solution", value:
    "Update the affected curl packages.");
      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:"patch_publication_date", value:"2017/03/02");
      script_set_attribute(attribute:"plugin_publication_date", value:"2017/05/01");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:curl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libcurl");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:huawei:euleros:libcurl-devel");
      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) 2017-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 !~ "^(1)$") audit(AUDIT_OS_NOT, "EulerOS 2.0 SP1");
    
    uvp = get_kb_item("Host/EulerOS/uvp_version");
    if (!empty_or_null(uvp)) audit(AUDIT_OS_NOT, "EulerOS 2.0 SP1", "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 = ["curl-7.29.0-35.h11",
            "libcurl-7.29.0-35.h11",
            "libcurl-devel-7.29.0-35.h11"];
    
    foreach (pkg in pkgs)
      if (rpm_check(release:"EulerOS-2.0", sp:"1", 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, "curl");
    }
    
  • NASL familySuSE Local Security Checks
    NASL idOPENSUSE-2016-1280.NASL
    descriptionThis update for curl fixes the following security issues : - CVE-2016-8624: invalid URL parsing with
    last seen2020-06-05
    modified2016-11-14
    plugin id94752
    published2016-11-14
    reporterThis script is Copyright (C) 2016-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/94752
    titleopenSUSE Security Update : curl (openSUSE-2016-1280)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2016-89769648A0.NASL
    description - fix cookie injection for other servers (CVE-2016-8615) - compare user/passwd case-sensitively while reusing connections (CVE-2016-8616) - base64: check for integer overflow on large input (CVE-2016-8617) - fix double-free in krb5 code (CVE-2016-8619) - fix double-free in curl_maprintf() (CVE-2016-8618) - fix glob parser write/read out of bounds (CVE-2016-8620) - fix out-of-bounds read in curl_getdate() (CVE-2016-8621) - fix URL unescape heap overflow via integer truncation (CVE-2016-8622) - fix use-after-free via shared cookies (CVE-2016-8623) - urlparse: accept
    last seen2020-06-05
    modified2016-11-21
    plugin id95009
    published2016-11-21
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/95009
    titleFedora 25 : curl (2016-89769648a0)
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DLA-711.NASL
    descriptionCVE-2016-8615 If cookie state is written into a cookie jar file that is later read back and used for subsequent requests, a malicious HTTP server can inject new cookies for arbitrary domains into said cookie jar. The issue pertains to the function that loads cookies into memory, which reads the specified file into a fixed-size buffer in a line-by-line manner using the `fgets()` function. If an invocation of fgets() cannot read the whole line into the destination buffer due to it being too small, it truncates the output. This way, a very long cookie (name + value) sent by a malicious server would be stored in the file and subsequently that cookie could be read partially and crafted correctly, it could be treated as a different cookie for another server. CVE-2016-8616 When re-using a connection, curl was doing case insensitive comparisons of user name and password with the existing connections. This means that if an unused connection with proper credentials exists for a protocol that has connection-scoped credentials, an attacker can cause that connection to be reused if s/he knows the case-insensitive version of the correct password. CVE-2016-8617 In libcurl
    last seen2020-03-17
    modified2016-11-18
    plugin id94941
    published2016-11-18
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94941
    titleDebian DLA-711-1 : curl security update
  • NASL familyDebian Local Security Checks
    NASL idDEBIAN_DSA-3705.NASL
    descriptionSeveral vulnerabilities were discovered in cURL, an URL transfer library : - CVE-2016-8615 It was discovered that a malicious HTTP server could inject new cookies for arbitrary domains into a cookie jar. - CVE-2016-8616 It was discovered that when re-using a connection, curl was doing case insensitive comparisons of user name and password with the existing connections. - CVE-2016-8617 It was discovered that on systems with 32-bit addresses in userspace (e.g. x86, ARM, x32), the output buffer size value calculated in the base64 encode function would wrap around if input size was at least 1GB of data, causing an undersized output buffer to be allocated. - CVE-2016-8618 It was discovered that the curl_maprintf() function could be tricked into doing a double-free due to an unsafe size_t multiplication on systems using 32 bit size_t variables. - CVE-2016-8619 It was discovered that the Kerberos implementation could be tricked into doing a double-free when reading one of the length fields from a socket. - CVE-2016-8620 It was discovered that the curl tool
    last seen2020-06-01
    modified2020-06-02
    plugin id94588
    published2016-11-07
    reporterThis script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94588
    titleDebian DSA-3705-1 : curl - security update
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2016-2699-1.NASL
    descriptionThis update for curl fixes the following security issues : - CVE-2016-8624: invalid URL parsing with
    last seen2020-06-01
    modified2020-06-02
    plugin id94506
    published2016-11-03
    reporterThis script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94506
    titleSUSE SLED12 / SLES12 Security Update : curl (SUSE-SU-2016:2699-1)
  • NASL familyF5 Networks Local Security Checks
    NASL idF5_BIGIP_SOL46123931.NASL
    descriptionThe function `read_data()` in security.c in curl before version 7.51.0 is vulnerable to memory double free.(CVE-2016-8619) Impact An attacker may use this vulnerability to exploit the usage of the cURL command with Kerberos authentication on custom BIG-IP monitors and/or the command line.
    last seen2020-06-01
    modified2020-06-02
    plugin id105468
    published2017-12-28
    reporterThis script is Copyright (C) 2017-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/105468
    titleF5 Networks BIG-IP : cURL and libcurl vulnerability (K46123931)
  • NASL familySlackware Local Security Checks
    NASL idSLACKWARE_SSA_2016-308-01.NASL
    descriptionNew curl packages are available for Slackware 13.0, 13.1, 13.37, 14.0, 14.1, 14.2, and -current to fix security issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id94516
    published2016-11-04
    reporterThis script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94516
    titleSlackware 13.0 / 13.1 / 13.37 / 14.0 / 14.1 / 14.2 / current : curl (SSA:2016-308-01)
  • NASL familyMacOS X Local Security Checks
    NASL idMACOS_10_12_2.NASL
    descriptionThe remote host is running a version of macOS that is 10.12.x prior to 10.12.2. It is, therefore, affected by multiple vulnerabilities in the following components : - apache_mod_php - AppleGraphicsPowerManagement - Assets - Audio - Bluetooth - CoreCapture - CoreFoundation - CoreGraphics - CoreMedia External Displays - CoreMedia Playback - CoreStorage - CoreText - curl - Directory Services - Disk Images - FontParser - Foundation - Grapher - ICU - ImageIO - Intel Graphics Driver - IOFireWireFamily - IOAcceleratorFamily - IOHIDFamily - IOKit - IOSurface - Kernel - kext tools - libarchive - LibreSSL - OpenLDAP - OpenPAM - OpenSSL - Power Management - Security - syslog - WiFi - xar Note that successful exploitation of the most serious issues can result in arbitrary code execution. Furthermore, CVE-2016-6304, CVE-2016-7596, and CVE-2016-7604 also affect Mac OS X versions 10.10.5 and 10.11.6. However, this plugin does not check those versions.
    last seen2020-06-01
    modified2020-06-02
    plugin id95917
    published2016-12-16
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/95917
    titlemacOS 10.12.x < 10.12.2 Multiple Vulnerabilities
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2016-2714-1.NASL
    descriptionThis update for curl fixes the following security issues : - CVE-2016-8624: invalid URL parsing with
    last seen2020-06-01
    modified2020-06-02
    plugin id94572
    published2016-11-04
    reporterThis script is Copyright (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94572
    titleSUSE SLES11 Security Update : curl (SUSE-SU-2016:2714-1)
  • NASL familyJunos Local Security Checks
    NASL idJUNIPER_SPACE_JSA10951_192R1.NASL
    descriptionAccording to its self-reported version number, the remote Junos Space version is prior to 19.2R1. It is, therefore, affected by multiple vulnerabilities: - A memory double free vulnerability exists in The libcurl API function called `curl_maprintf()` before version 7.51.0 due to an unsafe `size_t` multiplication, on systems using 32 bit `size_t` variables. An unauthiticated remote attacker can leverage this issue to perform unauthorized actions. This may aid in further attacks. (CVE-2016-8618) - A denial of service (DoS) vulnerability exists in Node.js 6.16.0 and earlier due to that Keep-alive HTTP and HTTPS connections can remain open and inactive for up to 2 minutes. An unauthenticated, remote attacker can exploit this issue to cause a denial of service. (CVE-2016-8619) - A vulnerability in curl before version 7.51.0 due to the use of an outdated IDNA 2003 standard to handle International Domain Names. This could lead users to unknowingly issue network transfer requests to the wrong host. (CVE-2016-8625)
    last seen2020-06-01
    modified2020-06-02
    plugin id131701
    published2019-12-04
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/131701
    titleJuniper Junos Space < 19.2R1 Multiple Vulnerabilities (JSA10951)
  • NASL familyOracle Linux Local Security Checks
    NASL idORACLELINUX_ELSA-2019-4652.NASL
    descriptionDescription of changes: [7.29.0-51.0.1] - Security Fixes [OraBug: 28939992] - CVE-2016-8615 cookie injection for other servers (https://curl.haxx.se/docs/CVE-2016-8615.html) - CVE-2016-8616 case insensitive password comparison (https://curl.haxx.se/docs/CVE-2016-8616.html) - CVE-2016-8617 OOB write via unchecked multiplication (https://curl.haxx.se/docs/CVE-2016-8617.html) - CVE-2016-8618 double-free in curl_maprintf (https://curl.haxx.se/docs/CVE-2016-8618.html) - CVE-2016-8619 double-free in krb5 code (https://curl.haxx.se/docs/CVE-2016-8619.html) - CVE-2016-8621 curl_getdate read out of bounds (https://curl.haxx.se/docs/CVE-2016-8621.html) - CVE-2016-8622 URL unescape heap overflow via integer truncation (https://curl.haxx.se/docs/CVE-2016-8622.html) - CVE-2016-8623 Use-after-free via shared cookies (https://curl.haxx.se/docs/CVE-2016-8623.html) - CVE-2016-8624 invalid URL parsing with # (https://curl.haxx.se/docs/CVE-2016-8624.html)
    last seen2020-06-01
    modified2020-06-02
    plugin id125380
    published2019-05-24
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/125380
    titleOracle Linux 6 / 7 : curl (ELSA-2019-4652)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2017-1035.NASL
    descriptionAccording to the versions of the curl packages installed, the EulerOS installation on the remote host is affected by the following vulnerabilities : - Multiple integer overflows in the (1) curl_escape, (2) curl_easy_escape, (3) curl_unescape, and (4) curl_easy_unescape functions in libcurl before 7.50.3 allow attackers to have unspecified impact via a string of length 0xffffffff, which triggers a heap-based buffer overflow.(CVE-2016-7167) - ** RESERVED ** This candidate has been reserved by an organization or individual that will use it when announcing a new security problem. When the candidate has been publicized, the details for this candidate will be provided.(CVE-2016-8615,CVE-2016-8616,CVE-2016-8617,CVE -2016-8618,CVE-2016-8619,CVE-2016-8621,CVE-2016-8622,CV E-2016-8623,CVE-2016-8624) 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.
    last seen2020-05-06
    modified2017-05-01
    plugin id99880
    published2017-05-01
    reporterThis script is Copyright (C) 2017-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/99880
    titleEulerOS 2.0 SP2 : curl (EulerOS-SA-2017-1035)
  • NASL familyFreeBSD Local Security Checks
    NASL idFREEBSD_PKG_765FEB7DA0D111E6A881B499BAEBFEAF.NASL
    descriptionThe cURL project reports - cookie injection for other servers - case insensitive password comparison - OOB write via unchecked multiplication - double-free in curl_maprintf - double-free in krb5 code - glob parser write/read out of bounds - curl_getdate read out of bounds - URL unescape heap overflow via integer truncation - Use-after-free via shared cookies - invalid URL parsing with
    last seen2020-06-01
    modified2020-06-02
    plugin id94493
    published2016-11-03
    reporterThis script is Copyright (C) 2016-2018 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94493
    titleFreeBSD : cURL -- multiple vulnerabilities (765feb7d-a0d1-11e6-a881-b499baebfeaf)
  • NASL familyHuawei Local Security Checks
    NASL idEULEROS_SA-2019-1550.NASL
    descriptionAccording to the versions of the curl packages installed, the EulerOS Virtualization installation on the remote host is affected by the following vulnerabilities : - curl version curl 7.20.0 to and including curl 7.59.0 contains a CWE-126: Buffer Over-read vulnerability in denial of service that can result in curl can be tricked into reading data beyond the end of a heap based buffer used to store downloaded RTSP content..(CVE-2018-1000301) - It was found that the libcurl library did not check the client certificate when choosing the TLS connection to reuse. An attacker could potentially use this flaw to hijack the authentication of the connection by leveraging a previously created connection with a different client certificate.(CVE-2016-5420) - It was discovered that libcurl could incorrectly reuse NTLM-authenticated connections for subsequent unauthenticated requests to the same host. If an application using libcurl established an NTLM-authenticated connection to a server, and sent subsequent unauthenticated requests to the same server, the unauthenticated requests could be sent over the NTLM-authenticated connection, appearing as if they were sent by the NTLM authenticated user.(CVE-2015-3143) - libcurl may read outside of a heap allocated buffer when doing FTP. When libcurl connects to an FTP server and successfully logs in (anonymous or not), it asks the server for the current directory with the `PWD` command. The server then responds with a 257 response containing the path, inside double quotes. The returned path name is then kept by libcurl for subsequent uses. Due to a flaw in the string parser for this directory name, a directory name passed like this but without a closing double quote would lead to libcurl not adding a trailing NUL byte to the buffer holding the name. When libcurl would then later access the string, it could read beyond the allocated heap buffer and crash or wrongly access data beyond the buffer, thinking it was part of the path. A malicious server could abuse this fact and effectively prevent libcurl-based clients to work with it - the PWD command is always issued on new FTP connections and the mistake has a high chance of causing a segfault. The simple fact that this has issue remained undiscovered for this long could suggest that malformed PWD responses are rare in benign servers. We are not aware of any exploit of this flaw. This bug was introduced in commit 415d2e7cb7(https://github.com/curl/curl/commit/415d2e7c b7), March 2005. In libcurl version 7.56.0, the parser always zero terminates the string but also rejects it if not terminated properly with a final double quote.(CVE-2017-1000254) - It was discovered that libcurl could incorrectly reuse Negotiate authenticated HTTP connections for subsequent requests. If an application using libcurl established a Negotiate authenticated HTTP connection to a server and sent subsequent requests with different credentials, the connection could be re-used with the initial set of credentials instead of using the new ones.(CVE-2015-3148) - Heap-based buffer overflow in the curl_easy_unescape function in lib/escape.c in cURL and libcurl 7.7 through 7.30.0 allows remote attackers to cause a denial of service (application crash) or possibly execute arbitrary code via a crafted string ending in a
    last seen2020-06-01
    modified2020-06-02
    plugin id125003
    published2019-05-14
    reporterThis script is Copyright (C) 2019-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/125003
    titleEulerOS Virtualization 3.0.1.0 : curl (EulerOS-SA-2019-1550)
  • NASL familyUbuntu Local Security Checks
    NASL idUBUNTU_USN-3123-1.NASL
    descriptionIt was discovered that curl incorrectly reused client certificates when built with NSS. A remote attacker could possibly use this issue to hijack the authentication of a TLS connection. (CVE-2016-7141) Nguyen Vu Hoang discovered that curl incorrectly handled escaping certain strings. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2016-7167) It was discovered that curl incorrectly handled storing cookies. A remote attacker could possibly use this issue to inject cookies for arbitrary domains in the cookie jar. (CVE-2016-8615) It was discovered that curl incorrect handled case when comparing user names and passwords. A remote attacker with knowledge of a case-insensitive version of the correct password could possibly use this issue to cause a connection to be reused. (CVE-2016-8616) It was discovered that curl incorrect handled memory when encoding to base64. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2016-8617) It was discovered that curl incorrect handled memory when preparing formatted output. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2016-8618) It was discovered that curl incorrect handled memory when performing Kerberos authentication. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2016-8619) Luat Nguyen discovered that curl incorrectly handled parsing globs. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. This issue only affected Ubuntu 14.04 LTS, Ubuntu 16.04 LTS and Ubuntu 16.10. (CVE-2016-8620) Luat Nguyen discovered that curl incorrectly handled converting dates. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service. (CVE-2016-8621) It was discovered that curl incorrectly handled URL percent-encoding decoding. A remote attacker could possibly use this issue to cause curl to crash, resulting in a denial of service, or possibly execute arbitrary code. (CVE-2016-8622) It was discovered that curl incorrectly handled shared cookies. A remote server could possibly obtain incorrect cookies or other sensitive information. (CVE-2016-8623) Fernando Munoz discovered that curl incorrect parsed certain URLs. A remote attacker could possibly use this issue to trick curl into connecting to a different host. (CVE-2016-8624). Note that Tenable Network Security has extracted the preceding description block directly from the Ubuntu security advisory. Tenable has attempted to automatically clean and format it as much as possible without introducing additional issues.
    last seen2020-06-01
    modified2020-06-02
    plugin id94574
    published2016-11-04
    reporterUbuntu Security Notice (C) 2016-2019 Canonical, Inc. / NASL script (C) 2016-2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94574
    titleUbuntu 12.04 LTS / 14.04 LTS / 16.04 LTS / 16.10 : curl vulnerabilities (USN-3123-1)
  • NASL familyFedora Local Security Checks
    NASL idFEDORA_2016-E8E8CDB4ED.NASL
    description - fix cookie injection for other servers (CVE-2016-8615) - compare user/passwd case-sensitively while reusing connections (CVE-2016-8616) - base64: check for integer overflow on large input (CVE-2016-8617) - fix double-free in krb5 code (CVE-2016-8619) - fix double-free in curl_maprintf() (CVE-2016-8618) - fix glob parser write/read out of bounds (CVE-2016-8620) - fix out-of-bounds read in curl_getdate() (CVE-2016-8621) - fix URL unescape heap overflow via integer truncation (CVE-2016-8622) - fix use-after-free via shared cookies (CVE-2016-8623) - urlparse: accept
    last seen2020-06-05
    modified2016-11-07
    plugin id94592
    published2016-11-07
    reporterThis script is Copyright (C) 2016-2020 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/94592
    titleFedora 24 : curl (2016-e8e8cdb4ed)

Redhat

advisories
  • rhsa
    idRHSA-2018:2486
  • rhsa
    idRHSA-2018:3558
rpms
  • httpd24-curl-0:7.61.1-1.el6
  • httpd24-curl-0:7.61.1-1.el7
  • httpd24-curl-debuginfo-0:7.61.1-1.el6
  • httpd24-curl-debuginfo-0:7.61.1-1.el7
  • httpd24-httpd-0:2.4.34-7.el6
  • httpd24-httpd-0:2.4.34-7.el7
  • httpd24-httpd-debuginfo-0:2.4.34-7.el6
  • httpd24-httpd-debuginfo-0:2.4.34-7.el7
  • httpd24-httpd-devel-0:2.4.34-7.el6
  • httpd24-httpd-devel-0:2.4.34-7.el7
  • httpd24-httpd-manual-0:2.4.34-7.el6
  • httpd24-httpd-manual-0:2.4.34-7.el7
  • httpd24-httpd-tools-0:2.4.34-7.el6
  • httpd24-httpd-tools-0:2.4.34-7.el7
  • httpd24-libcurl-0:7.61.1-1.el6
  • httpd24-libcurl-0:7.61.1-1.el7
  • httpd24-libcurl-devel-0:7.61.1-1.el6
  • httpd24-libcurl-devel-0:7.61.1-1.el7
  • httpd24-libnghttp2-0:1.7.1-7.el6
  • httpd24-libnghttp2-0:1.7.1-7.el7
  • httpd24-libnghttp2-devel-0:1.7.1-7.el6
  • httpd24-libnghttp2-devel-0:1.7.1-7.el7
  • httpd24-mod_ldap-0:2.4.34-7.el6
  • httpd24-mod_ldap-0:2.4.34-7.el7
  • httpd24-mod_md-0:2.4.34-7.el7
  • httpd24-mod_proxy_html-1:2.4.34-7.el6
  • httpd24-mod_proxy_html-1:2.4.34-7.el7
  • httpd24-mod_session-0:2.4.34-7.el6
  • httpd24-mod_session-0:2.4.34-7.el7
  • httpd24-mod_ssl-1:2.4.34-7.el6
  • httpd24-mod_ssl-1:2.4.34-7.el7
  • httpd24-nghttp2-0:1.7.1-7.el6
  • httpd24-nghttp2-0:1.7.1-7.el7
  • httpd24-nghttp2-debuginfo-0:1.7.1-7.el6
  • httpd24-nghttp2-debuginfo-0:1.7.1-7.el7