Vulnerabilities > CVE-2011-1473 - Permissions, Privileges, and Access Controls vulnerability in Openssl

047910
CVSS 0.0 - NONE
Attack vector
UNKNOWN
Attack complexity
UNKNOWN
Privileges required
UNKNOWN
Confidentiality impact
UNKNOWN
Integrity impact
UNKNOWN
Availability impact
UNKNOWN

Summary

OpenSSL before 0.9.8l, and 0.9.8m through 1.x, does not properly restrict client-initiated renegotiation within the SSL and TLS protocols, which might make it easier for remote attackers to cause a denial of service (CPU consumption) by performing many renegotiations within a single connection, a different vulnerability than CVE-2011-5094. NOTE: it can also be argued that it is the responsibility of server deployments, not a security library, to prevent or limit renegotiation when it is inappropriate within a specific environment

Common Attack Pattern Enumeration and Classification (CAPEC)

  • Accessing, Modifying or Executing Executable Files
    An attack of this type exploits a system's configuration that allows an attacker to either directly access an executable file, for example through shell access; or in a possible worst case allows an attacker to upload a file and then execute it. Web servers, ftp servers, and message oriented middleware systems which have many integration points are particularly vulnerable, because both the programmers and the administrators must be in synch regarding the interfaces and the correct privileges for each interface.
  • Leverage Executable Code in Non-Executable Files
    An attack of this type exploits a system's trust in configuration and resource files, when the executable loads the resource (such as an image file or configuration file) the attacker has modified the file to either execute malicious code directly or manipulate the target process (e.g. application server) to execute based on the malicious configuration parameters. Since systems are increasingly interrelated mashing up resources from local and remote sources the possibility of this attack occurring is high. The attack can be directed at a client system, such as causing buffer overrun through loading seemingly benign image files, as in Microsoft Security Bulletin MS04-028 where specially crafted JPEG files could cause a buffer overrun once loaded into the browser. Another example targets clients reading pdf files. In this case the attacker simply appends javascript to the end of a legitimate url for a pdf (http://www.gnucitizen.org/blog/danger-danger-danger/) http://path/to/pdf/file.pdf#whatever_name_you_want=javascript:your_code_here The client assumes that they are reading a pdf, but the attacker has modified the resource and loaded executable javascript into the client's browser process. The attack can also target server processes. The attacker edits the resource or configuration file, for example a web.xml file used to configure security permissions for a J2EE app server, adding role name "public" grants all users with the public role the ability to use the administration functionality. The server trusts its configuration file to be correct, but when they are manipulated, the attacker gains full control.
  • Blue Boxing
    This type of attack against older telephone switches and trunks has been around for decades. A tone is sent by an adversary to impersonate a supervisor signal which has the effect of rerouting or usurping command of the line. While the US infrastructure proper may not contain widespread vulnerabilities to this type of attack, many companies are connected globally through call centers and business process outsourcing. These international systems may be operated in countries which have not upgraded Telco infrastructure and so are vulnerable to Blue boxing. Blue boxing is a result of failure on the part of the system to enforce strong authorization for administrative functions. While the infrastructure is different than standard current applications like web applications, there are historical lessons to be learned to upgrade the access control for administrative functions.
  • Restful Privilege Elevation
    Rest uses standard HTTP (Get, Put, Delete) style permissions methods, but these are not necessarily correlated generally with back end programs. Strict interpretation of HTTP get methods means that these HTTP Get services should not be used to delete information on the server, but there is no access control mechanism to back up this logic. This means that unless the services are properly ACL'd and the application's service implementation are following these guidelines then an HTTP request can easily execute a delete or update on the server side. The attacker identifies a HTTP Get URL such as http://victimsite/updateOrder, which calls out to a program to update orders on a database or other resource. The URL is not idempotent so the request can be submitted multiple times by the attacker, additionally, the attacker may be able to exploit the URL published as a Get method that actually performs updates (instead of merely retrieving data). This may result in malicious or inadvertent altering of data on the server.
  • Target Programs with Elevated Privileges
    This attack targets programs running with elevated privileges. The attacker would try to leverage a bug in the running program and get arbitrary code to execute with elevated privileges. For instance an attacker would look for programs that write to the system directories or registry keys (such as HKLM, which stores a number of critical Windows environment variables). These programs are typically running with elevated privileges and have usually not been designed with security in mind. Such programs are excellent exploit targets because they yield lots of power when they break. The malicious user try to execute its code at the same level as a privileged system call.

Nessus

  • NASL familyGeneral
    NASL idSSL_RENEGOTIATION_DOS.NASL
    descriptionThe remote service encrypts traffic using TLS / SSL and permits clients to renegotiate connections. The computational requirements for renegotiating a connection are asymmetrical between the client and the server, with the server performing several times more work. Since the remote host does not appear to limit the number of renegotiations for a single TLS / SSL connection, this permits a client to open several simultaneous connections and repeatedly renegotiate them, possibly leading to a denial of service condition.
    last seen2016-09-26
    modified2013-10-18
    plugin id53491
    published2011-05-04
    reporterTenable
    sourcehttps://www.tenable.com/plugins/index.php?view=single&id=53491
    titleSSL / TLS Renegotiation DoS
    code
    #%NASL_MIN_LEVEL 999999
    
    #TRUSTED 2358a213378dd080331c1e9470ff3d8a6bc045727fccfdd11565a24863203ef535c996ef1a0868581919fcbe0bd75ea72af4c77538763a52c425884ff6058afe65ed6d5636f5be58596f99b6f01ab507d0cdd0131ca9145a48079514c5d01c2bcd7448cf772c8f3c6af9c9d4304d94afbae4b20a3437abd8373b2ea24e89c970ed005568edaa6cd061253e06e10d53aba711422166af2eb5b1ecdb43a2672953089f8af933ad11e9acacab95c7a9e077ddb02658424f775bb2bbf5eab891c35ff7158c78b70f52bc79be1d22bdd877dda574ffeed51b926a162e35812c9db8095627bbca981f0eaa72e0eb08d47ea31b19485144282eb4817f4af3c6f06eac61f9ffbeb21e5c637c85310d689769922a17873bc0a5eb81ce3a4043c84850488a2500cd9da2bc0fbfb345e6515e0272cb4407924517483d998b03d0cbde2268c9ae168ca9c6b0a93b2be6585687ffdb6542c79e97cf6a1e684e9b79369015081365419c359838158668f29f1e693d19754f3b090bb5031aa0515b6b19f00aabff477c3f8d4e67db60a6076d8ccee83ca6a88cd9d94e3489d6c47de2258db713fbc394454bca51937f3965b3fca859baf9980d1f16131f7ff9e86fc81c55e574309953771dd81b7fa7f08e1891a436e4e5247bbfed03c740cc0192da5d7989383ed4a19975f6e88e1f3869ec3c929d69d4135d75a810ee6dd4cc967c6d40f9ba73
    # @DEPRECATED@
    #
    # This script has been deprecated as the security implications of the
    # issue are in dispute; eg, see the CVE entry.
    #
    # Disabled on 2013/04/29.
    #
    
    #
    # (C) Tenable Network Security, Inc.
    #
    
    
    if (!defined_func("socket_redo_ssl_handshake")) exit(1, "socket_redo_ssl_handshake() is not defined.");
    
    
    include("compat.inc");
    
    
    if (description)
    {
      script_id(53491);
      script_version("1.19");
      script_set_attribute(attribute:"plugin_modification_date", value:"2013/10/18");
    
      script_cve_id("CVE-2011-1473");
      script_bugtraq_id(48626);
    
      script_name(english:"SSL / TLS Renegotiation DoS");
      script_summary(english:"Tries to repeatedly renegotiate an SSL connection");
    
      script_set_attribute(
        attribute:"synopsis",
        value:
    "The remote service allows repeated renegotiation of TLS / SSL
    connections."
      );
      script_set_attribute(
        attribute:"description",
        value:
    "The remote service encrypts traffic using TLS / SSL and permits
    clients to renegotiate connections.  The computational requirements
    for renegotiating a connection are asymmetrical between the client and
    the server, with the server performing several times more work.  Since
    the remote host does not appear to limit the number of renegotiations
    for a single TLS / SSL connection, this permits a client to open
    several simultaneous connections and repeatedly renegotiate them,
    possibly leading to a denial of service condition."
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.ietf.org/mail-archive/web/tls/current/msg07553.html"
      );
      script_set_attribute(
        attribute:"solution",
        value:"Contact the vendor for specific patch information."
      );
     script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:N/A:P");
     script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
     script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
     script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2011/03/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2011/05/04");
    
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_end_attributes();
    
      script_category(ACT_ATTACK);
      script_family(english:"General");
    
      script_copyright(english:"This script is Copyright (C) 2011-2018 Tenable Network Security, Inc.");
    
      script_dependencies("ssl_supported_versions.nasl");
      script_require_keys("SSL/Supported");
      exit(0);
    }
    
    # Deprecated.
    exit(0, "The security implications of this are disputed.");
    
    
    
    include("acap_func.inc");
    include("byte_func.inc");
    include("ftp_func.inc");
    include("global_settings.inc");
    include("imap_func.inc");
    include("kerberos_func.inc");
    include("ldap_func.inc");
    include("misc_func.inc");
    include("nntp_func.inc");
    include("pop3_func.inc");
    include("smtp_func.inc");
    include("ssl_funcs.inc");
    include("telnet2_func.inc");
    include("xmpp_func.inc");
    
    
    # nb: SSLv2 doesn't support renegotiation.
    encapss = make_list(ENCAPS_TLSv1, ENCAPS_SSLv3);
    
    # Certain SSL implementations, when sent a ClientHello with
    # a number of ciphers past some threshold, simply close the
    # socket. We'll try connecting with the default list that
    # OpenSSL uses.
    cipherspec = "";
    cipherspec += raw_string(0xc0, 0x14);
    cipherspec += raw_string(0xc0, 0x0a);
    cipherspec += raw_string(0x00, 0x39);
    cipherspec += raw_string(0x00, 0x38);
    cipherspec += raw_string(0x00, 0x88);
    cipherspec += raw_string(0x00, 0x87);
    cipherspec += raw_string(0xc0, 0x0f);
    cipherspec += raw_string(0xc0, 0x05);
    cipherspec += raw_string(0x00, 0x35);
    cipherspec += raw_string(0x00, 0x84);
    cipherspec += raw_string(0xc0, 0x12);
    cipherspec += raw_string(0xc0, 0x08);
    cipherspec += raw_string(0x00, 0x16);
    cipherspec += raw_string(0x00, 0x13);
    cipherspec += raw_string(0xc0, 0x0d);
    cipherspec += raw_string(0xc0, 0x03);
    cipherspec += raw_string(0x00, 0x0a);
    cipherspec += raw_string(0xc0, 0x13);
    cipherspec += raw_string(0xc0, 0x09);
    cipherspec += raw_string(0x00, 0x33);
    cipherspec += raw_string(0x00, 0x32);
    cipherspec += raw_string(0x00, 0x9a);
    cipherspec += raw_string(0x00, 0x99);
    cipherspec += raw_string(0x00, 0x45);
    cipherspec += raw_string(0x00, 0x44);
    cipherspec += raw_string(0xc0, 0x0e);
    cipherspec += raw_string(0xc0, 0x04);
    cipherspec += raw_string(0x00, 0x2f);
    cipherspec += raw_string(0x00, 0x96);
    cipherspec += raw_string(0x00, 0x41);
    cipherspec += raw_string(0x00, 0x07);
    cipherspec += raw_string(0xc0, 0x11);
    cipherspec += raw_string(0xc0, 0x07);
    cipherspec += raw_string(0xc0, 0x0c);
    cipherspec += raw_string(0xc0, 0x02);
    cipherspec += raw_string(0x00, 0x05);
    cipherspec += raw_string(0x00, 0x04);
    cipherspec += raw_string(0x00, 0x15);
    cipherspec += raw_string(0x00, 0x12);
    cipherspec += raw_string(0x00, 0x09);
    cipherspec += raw_string(0x00, 0x14);
    cipherspec += raw_string(0x00, 0x11);
    cipherspec += raw_string(0x00, 0x08);
    cipherspec += raw_string(0x00, 0x06);
    cipherspec += raw_string(0x00, 0x03);
    
    # This value isn't actually a cipher. Instead it signals to
    # the server that the client supports secure renegotiation.
    cipherspec += raw_string(0x00, 0xff);
    
    
    get_kb_item_or_exit("SSL/Supported");
    
    # Get a port to operate on, forking for each one.
    port = get_ssl_ports(fork:TRUE);
    if (isnull(port))
      exit(1, "The host does not appear to have any SSL-based services.");
    
    # Find out if the port is open.
    if (!get_port_state(port))
      exit(0, "Port " + port + " is not open.");
    
    # The number of renegotiations required before we decide that a port
    # is vulnerable.
    max_reneg = 3;
    
    # These are status flags to customize the audit trail depending on the
    # behaviour of the server.
    negotiated = FALSE;
    renegotiated = FALSE;
    
    vuln_encaps = make_list();
    foreach encaps (encapss)
    {
      # Create a Client Hello record.
      if (encaps == ENCAPS_SSLv3)
      {
        ssl_name = "SSLv3";
        ssl_ver = raw_string(0x03, 0x00);
      }
      else if (encaps == ENCAPS_TLSv1)
      {
        ssl_name = "TLSv1";
        ssl_ver = raw_string(0x03, 0x01);
      }
    
      # Open a socket without encapsulation.
      sock = open_sock_ssl(port);
      if (!sock)
        exit(1, "open_sock_ssl() returned NULL for port " + port + ".");
    
      # Try to negotiate initial SSL connection.
      sock = socket_negotiate_ssl(socket:sock, transport:encaps);
      if (!sock) continue;
      negotiated = TRUE;
    
      # Try to repeatedly negotiate an SSL connection.
      for (attempts = 0; attempts < max_reneg; attempts++)
      {
        sock = socket_redo_ssl_handshake(sock);
        if (!sock) break;
        renegotiated = TRUE;
      }
    
      # Close the socket if it's still open.
      if (sock) close(sock);
    
      # This encapsulation is not vulnerable if we were prevented from
      # performing as many renegotiations as we wanted to.
      if (attempts == max_reneg)
        vuln_encaps = make_list(vuln_encaps, ssl_name);
    }
    
    if (max_index(vuln_encaps) == 0)
    {
      if (!negotiated)
        msg = "rejected every attempt to negotiate";
      else if (!renegotiated)
        msg = "rejected every attempt to renegotiate";
      else
        msg = "eventually rejected our attempts to renegotiate";
    
      exit(0, "Port " + port + " " + msg + ", and is therefore not vulnerable to renegotiation DoS over SSL / TLS.");
    }
    
    security_warning(port:port, extra:'\nThe remote host is vulnerable to renegotiation DoS over ' + join(vuln_encaps, sep:' / ') + '.\n');
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_APACHE2-7882.NASL
    descriptionThis update fixes several security issues in the Apache2 webserver. - This update also includes several fixes for a mod_proxy reverse exposure via RewriteRule or ProxyPassMatch directives. (CVE-2011-3639 / CVE-2011-3368 / CVE-2011-4317) - Fixed the SSL renegotiation DoS by disabling renegotiation by default. (CVE-2011-1473) - Integer overflow in ap_pregsub function resulting in a heap-based buffer overflow could potentially allow local attackers to gain privileges. (CVE-2011-3607)
    last seen2020-06-01
    modified2020-06-02
    plugin id57298
    published2011-12-14
    reporterThis script is Copyright (C) 2011-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/57298
    titleSuSE 10 Security Update : Apache2 (ZYPP Patch Number 7882)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The text description of this plugin is (C) Novell, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(57298);
      script_version ("1.14");
      script_cvs_date("Date: 2019/10/25 13:36:43");
    
      script_cve_id("CVE-2011-1473", "CVE-2011-3368", "CVE-2011-3607", "CVE-2011-3639", "CVE-2011-4317");
    
      script_name(english:"SuSE 10 Security Update : Apache2 (ZYPP Patch Number 7882)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SuSE 10 host is missing a security-related patch."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update fixes several security issues in the Apache2 webserver.
    
      - This update also includes several fixes for a mod_proxy
        reverse exposure via RewriteRule or ProxyPassMatch
        directives. (CVE-2011-3639 / CVE-2011-3368 /
        CVE-2011-4317)
    
      - Fixed the SSL renegotiation DoS by disabling
        renegotiation by default. (CVE-2011-1473)
    
      - Integer overflow in ap_pregsub function resulting in a
        heap-based buffer overflow could potentially allow local
        attackers to gain privileges. (CVE-2011-3607)"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-1473.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-3368.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-3607.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-3639.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-4317.html"
      );
      script_set_attribute(attribute:"solution", value:"Apply ZYPP patch number 7882.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploithub_sku", value:"EH-14-410");
      script_set_attribute(attribute:"exploit_framework_exploithub", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:suse:suse_linux");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2011/12/07");
      script_set_attribute(attribute:"plugin_publication_date", value:"2011/12/14");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2011-2019 Tenable Network Security, Inc.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/cpu", "Host/SuSE/release", "Host/SuSE/rpm-list");
    
      exit(0);
    }
    
    
    include("global_settings.inc");
    include("rpm.inc");
    
    
    if (!get_kb_item("Host/local_checks_enabled")) exit(0, "Local checks are not enabled.");
    if (!get_kb_item("Host/SuSE/release")) exit(0, "The host is not running SuSE.");
    if (!get_kb_item("Host/SuSE/rpm-list")) exit(1, "Could not obtain the list of installed packages.");
    
    cpu = get_kb_item("Host/cpu");
    if (isnull(cpu)) exit(1, "Failed to determine the architecture type.");
    if (cpu >!< "x86_64" && cpu !~ "^i[3-6]86$") exit(1, "Local checks for SuSE 10 on the '"+cpu+"' architecture have not been implemented.");
    
    
    flag = 0;
    if (rpm_check(release:"SLES10", sp:4, reference:"apache2-2.2.3-16.42.2")) flag++;
    if (rpm_check(release:"SLES10", sp:4, reference:"apache2-devel-2.2.3-16.42.2")) flag++;
    if (rpm_check(release:"SLES10", sp:4, reference:"apache2-doc-2.2.3-16.42.2")) flag++;
    if (rpm_check(release:"SLES10", sp:4, reference:"apache2-example-pages-2.2.3-16.42.2")) flag++;
    if (rpm_check(release:"SLES10", sp:4, reference:"apache2-prefork-2.2.3-16.42.2")) flag++;
    if (rpm_check(release:"SLES10", sp:4, reference:"apache2-worker-2.2.3-16.42.2")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else exit(0, "The host is not affected.");
    
  • NASL familyJunos Local Security Checks
    NASL idJUNIPER_JSA10580.NASL
    descriptionAccording to its self-reported version number, the remote Juniper Junos device is affected by a denial of service vulnerability. The SSL/TLS implementation on the remote host allows clients to renegotiate connections. The computational requirements for renegotiating a connection are asymmetrical between the client and the server, with the server performing several times more work. Since the remote host does not appear to limit the number of renegotiations for a single TLS / SSL connection, this permits a client to open several simultaneous connections and repeatedly renegotiate them, possibly leading to a denial of service condition. Note that this issue only affects devices with J-Web or the SSL service for JUNOScript enabled.
    last seen2020-03-18
    modified2013-07-16
    plugin id68913
    published2013-07-16
    reporterThis script is Copyright (C) 2013-2018 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/68913
    titleJuniper Junos SSL/TLS Renegotiation DoS (JSA10580)
    code
    #TRUSTED 60e880fb2e4b2cf56fae277e075abf16532d930b10c45cc3346ec20e892c2153081d67624a52330365ea4c13d925da493980cb24847c71296ba01ee8954a87a515fb2dc55f5e6326d15b122eefaadd150e261d212c23c0b49dbacfc881045f1bfef6b7a0d2bffac723c8b252b352b10543e050830c832a1b97cd859aef833225f468a93cfa47d5afe8986fd26227a728cd4ac8a8de5ca352275a241d95d410c05014e6e2a1dbd0e4f01cbd7209c3b25bcf0547b503790e507107d23800198e705293e619953104b6ee29d9ef0f4a1daaf532e878d2748394fc88164bae270e699d99914708a331e6d7d419ca742180f754256cb2be2e1c564009e5fb613b047836c000e064d65be4b41fa7beb365099e132ce00cf4ac6ddc8dee28a3f289650953ab2b83aee64f91d4bb25f9e3ef8bdcd316eba401f8571125bfd0d63c4d66f025870ffef591c32267b65080e0bcc9b9f35ebee59ecad39bde32767a21b317fce89f4e1f6af4647fae3d1d7dc4e6335a8c7559ce8ab23895e9c4646927d8cca837f22ea5b5ecd395c6a434f459e5facde3674602dd7aa10ef6cb0c4fbc23322b54350b29560291ba1d2118ab3871c9b4fdda9caa0b2a9496eb5f81181ebf3f9252fbbce4c9659ac20f0a72f0f078e20297bbd31c39dd89ac8f488611d1d132a74dbc6c6e99fc038dd433028f91aeb5956f9974605f935dec1b2545d777b23785
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(68913);
      script_version("1.10");
      script_set_attribute(attribute:"plugin_modification_date", value:"2018/07/12");
    
      script_cve_id("CVE-2011-1473");
      script_bugtraq_id(48626);
      script_xref(name:"JSA", value:"JSA10580");
    
      script_name(english:"Juniper Junos SSL/TLS Renegotiation DoS (JSA10580)");
      script_summary(english:"Checks the Junos version, build date, and configuration.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote device is missing a vendor-supplied security patch.");
      script_set_attribute(attribute:"description", value:
    "According to its self-reported version number, the remote Juniper
    Junos device is affected by a denial of service vulnerability. The
    SSL/TLS implementation on the remote host allows clients to
    renegotiate connections. The computational requirements for
    renegotiating a connection are asymmetrical between the client and the
    server, with the server performing several times more work. Since the
    remote host does not appear to limit the number of renegotiations for
    a single TLS / SSL connection, this permits a client to open several
    simultaneous connections and repeatedly renegotiate them, possibly
    leading to a denial of service condition.
    
    Note that this issue only affects devices with J-Web or the SSL
    service for JUNOScript enabled.");
      script_set_attribute(attribute:"see_also", value:"http://www.ietf.org/mail-archive/web/tls/current/msg07553.html");
      script_set_attribute(attribute:"see_also", value:"https://kb.juniper.net/InfoCenter/index?page=content&id=JSA10580");
      script_set_attribute(attribute:"solution", value:
    "Apply the relevant Junos software release or workaround referenced in
    Juniper advisory JSA10580.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:N/I:N/A:P");
      script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"false");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2011/03/13");
      script_set_attribute(attribute:"patch_publication_date", value:"2013/07/12");
      script_set_attribute(attribute:"plugin_publication_date", value:"2013/07/16");
    
      script_set_attribute(attribute:"plugin_type", value:"combined");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:juniper:junos");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"Junos Local Security Checks");
    
      script_copyright(english:"This script is Copyright (C) 2013-2018 Tenable Network Security, Inc.");
    
      script_dependencies("junos_version.nasl");
      script_require_keys("Host/Juniper/JUNOS/Version", "Host/Juniper/JUNOS/BuildDate");
    
      exit(0);
    }
    
    include("audit.inc");
    include("junos_kb_cmd_func.inc");
    include("misc_func.inc");
    
    ver = get_kb_item_or_exit('Host/Juniper/JUNOS/Version');
    build_date = get_kb_item_or_exit('Host/Juniper/JUNOS/BuildDate');
    
    if (compare_build_dates(build_date, '2013-06-13') >= 0)
      audit(AUDIT_INST_VER_NOT_VULN, 'Junos', ver + ' (build date ' + build_date + ')');
    
    fixes = make_array();
    fixes['10.4'] = '10.4S14';
    fixes['11.4'] = '11.4R7';
    fixes['12.1'] = '12.1R6';
    fixes['12.1X44'] = '12.1X44-D20';
    fixes['12.2'] = '12.2R3';
    fixes['12.3'] = '12.3R2';
    fix = check_junos(ver:ver, fixes:fixes, exit_on_fail:TRUE);
    
    # HTTPS or XNM-SSL must be enabled
    override = TRUE;
    buf = junos_command_kb_item(cmd:"show configuration | display set");
    if (buf)
    {
      patterns = make_list(
        "^set system services web-management https interface", # HTTPS
        "^set system services xnm-ssl" # SSL Service for JUNOScript (XNM-SSL)
      );
      foreach pattern (patterns)
      {
        if (junos_check_config(buf:buf, pattern:pattern)) override = FALSE;
      }
      if (override) audit(AUDIT_HOST_NOT,
        'affected because neither J-Web nor the SSL service for JUNOScript are enabled');
    }
    
    junos_report(ver:ver, fix:fix, override:override, severity:SECURITY_WARNING);
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_11_APACHE2-111130.NASL
    descriptionThis update fixes several security issues in the Apache2 webserver. - This update also includes several fixes for a mod_proxy reverse exposure via RewriteRule or ProxyPassMatch directives. (CVE-2011-3639 / CVE-2011-3368 / CVE-2011-4317) - Fixed the SSL renegotiation DoS by disabling renegotiation by default. (CVE-2011-1473) - Integer overflow in ap_pregsub function resulting in a heap-based buffer overflow could potentially allow local attackers to gain privileges. (CVE-2011-3607) Also a non-security bug was fixed : - httpd-2.2.x-bnc727071-mod_authnz_ldap-utf8.diff: make non-ascii eg UTF8 passwords work with mod_authnz_ldap. [bnc#727071]
    last seen2020-06-01
    modified2020-06-02
    plugin id57090
    published2011-12-13
    reporterThis script is Copyright (C) 2011-2019 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/57090
    titleSuSE 11.1 Security Update : Apache2 (SAT Patch Number 5482)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were  
    # extracted from SuSE 11 update information. The text itself is
    # copyright (C) Novell, Inc.
    #
    
    if (NASL_LEVEL < 3000) exit(0);
    
    include("compat.inc");
    
    if (description)
    {
      script_id(57090);
      script_version("1.14");
      script_cvs_date("Date: 2019/10/25 13:36:42");
    
      script_cve_id("CVE-2011-1473", "CVE-2011-3368", "CVE-2011-3607", "CVE-2011-3639", "CVE-2011-4317");
    
      script_name(english:"SuSE 11.1 Security Update : Apache2 (SAT Patch Number 5482)");
      script_summary(english:"Checks rpm output for the updated packages");
    
      script_set_attribute(
        attribute:"synopsis", 
        value:"The remote SuSE 11 host is missing one or more security updates."
      );
      script_set_attribute(
        attribute:"description", 
        value:
    "This update fixes several security issues in the Apache2 webserver.
    
      - This update also includes several fixes for a mod_proxy
        reverse exposure via RewriteRule or ProxyPassMatch
        directives. (CVE-2011-3639 / CVE-2011-3368 /
        CVE-2011-4317)
    
      - Fixed the SSL renegotiation DoS by disabling
        renegotiation by default. (CVE-2011-1473)
    
      - Integer overflow in ap_pregsub function resulting in a
        heap-based buffer overflow could potentially allow local
        attackers to gain privileges. (CVE-2011-3607)
    
    Also a non-security bug was fixed :
    
      - httpd-2.2.x-bnc727071-mod_authnz_ldap-utf8.diff: make
        non-ascii eg UTF8 passwords work with mod_authnz_ldap.
        [bnc#727071]"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=688472"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=722545"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=727071"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=728533"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=728876"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/show_bug.cgi?id=729181"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-1473.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-3368.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-3607.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-3639.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2011-4317.html"
      );
      script_set_attribute(attribute:"solution", value:"Apply SAT patch number 5482.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploithub_sku", value:"EH-14-410");
      script_set_attribute(attribute:"exploit_framework_exploithub", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:11:apache2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:11:apache2-doc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:11:apache2-example-pages");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:11:apache2-prefork");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:11:apache2-utils");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:11:apache2-worker");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:11");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2011/11/30");
      script_set_attribute(attribute:"plugin_publication_date", value:"2011/12/13");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2011-2019 Tenable Network Security, Inc.");
      script_family(english:"SuSE Local Security Checks");
    
      script_dependencies("ssh_get_info.nasl");
      script_require_keys("Host/local_checks_enabled", "Host/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)11") audit(AUDIT_OS_NOT, "SuSE 11");
    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 11", cpu);
    
    pl = get_kb_item("Host/SuSE/patchlevel");
    if (isnull(pl) || int(pl) != 1) audit(AUDIT_OS_NOT, "SuSE 11.1");
    
    
    flag = 0;
    if (rpm_check(release:"SLES11", sp:1, reference:"apache2-2.2.12-1.28.1")) flag++;
    if (rpm_check(release:"SLES11", sp:1, reference:"apache2-doc-2.2.12-1.28.1")) flag++;
    if (rpm_check(release:"SLES11", sp:1, reference:"apache2-example-pages-2.2.12-1.28.1")) flag++;
    if (rpm_check(release:"SLES11", sp:1, reference:"apache2-prefork-2.2.12-1.28.1")) flag++;
    if (rpm_check(release:"SLES11", sp:1, reference:"apache2-utils-2.2.12-1.28.1")) flag++;
    if (rpm_check(release:"SLES11", sp:1, reference:"apache2-worker-2.2.12-1.28.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else audit(AUDIT_HOST_NOT, "affected");
    
  • NASL familyCGI abuses
    NASL idSYMANTEC_REPORTER_SYMSA1280.NASL
    descriptionAccording to its self-reported version number, the Symantec (formerly Blue Coat) Reporter installation running on the remote host is prior to 10.3.1.1. It is, therefore, is affected by a denial of service vulnerability. The SSL/TLS implementation on the remote host allows clients to renegotiate connections. The computational requirements forrenegotiating a connection are asymmetrical between the client and the server, with the server performing several times more work. Since the remote host does not appear to limit the number of renegotiations for a single TLS / SSL connection, this permits a client to open several simultaneous connections and repeatedly renegotiate them, possibly leading to a denial of service condition. Note that Nessus has not attempted to exploit these issues but has instead relied only on the application
    last seen2020-06-01
    modified2020-06-02
    plugin id125357
    published2019-05-23
    reporterThis script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.
    sourcehttps://www.tenable.com/plugins/nessus/125357
    titleSymantec (Blue Coat) Reporter Denial of Service vulnerability (SYMSA1280)
    code
    #
    # (C) Tenable Network Security, Inc.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(125357);
      script_version("1.3");
      script_cvs_date("Date: 2019/10/31 15:18:51");
    
      script_cve_id("CVE-2011-1473");
    
      script_name(english:"Symantec (Blue Coat) Reporter Denial of Service vulnerability (SYMSA1280)");
      script_summary(english:"Checks the version of Symantec Reporter.");
    
      script_set_attribute(attribute:"synopsis", value:
    "The remote host is running a version of Symantec (Blue Coat)
    Reporter that is affected by a Denial of Service vulnerability.");
      script_set_attribute(attribute:"description", value:
    "According to its self-reported version number, the Symantec
    (formerly Blue Coat) Reporter installation running on the remote
    host is prior to 10.3.1.1. It is, therefore,  is affected by a
    denial of service vulnerability. The SSL/TLS implementation on
    the remote host allows clients to renegotiate connections. The
    computational requirements forrenegotiating a connection are
    asymmetrical between the client and the server, with the server
    performing several times more work. Since the remote host does not
    appear to limit the number of renegotiations for a single
    TLS / SSL connection, this permits a client to open several
    simultaneous connections and repeatedly renegotiate them,
    possibly leading to a denial of service condition.
    
    Note that Nessus has not attempted to exploit these issues but has
    instead relied only on the application's self-reported version
    number.");
      # https://support.symantec.com/en_US/article.SYMSA1280.html
      script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?1ec34e39");
      script_set_attribute(attribute:"solution", value:
    "Upgrade to Symantec Reporter version 10.3.1.1 or later.");
      script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/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:L/UI:N/S:U/C:N/I:N/A:H");
      script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
      script_set_attribute(attribute:"cvss_score_source", value:"CVE-2011-1473");
    
      script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
    
      script_set_attribute(attribute:"vuln_publication_date", value:"2012/06/12");
      script_set_attribute(attribute:"patch_publication_date", value:"2013/09/13");
      script_set_attribute(attribute:"plugin_publication_date", value:"2019/05/23");
    
      script_set_attribute(attribute:"plugin_type", value:"remote");
      script_set_attribute(attribute:"cpe", value:"cpe:/a:symantec:reporter");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_family(english:"CGI abuses");
    
      script_copyright(english:"This script is Copyright (C) 2019 and is owned by Tenable, Inc. or an Affiliate thereof.");
    
      script_dependencies("symantec_reporter_web_detection.nbin");
      script_require_keys("installed_sw/Symantec Reporter");
      script_require_ports("Services/www");
    
      exit(0);
    }
    
    include("http.inc");
    include("vcf.inc");
    
    port = get_http_port(default:8082);
    
    app = "Symantec Reporter";
    
    app_info = vcf::get_app_info(app:app, port:port, webapp:TRUE);
    
    vcf::check_granularity(app_info:app_info, sig_segments:4);
    
    constraints = [{"fixed_version" : "10.3.1.1" }];
    
    vcf::check_version_and_report(app_info:app_info, constraints:constraints, severity:SECURITY_WARNING);
    
  • NASL familySuSE Local Security Checks
    NASL idSUSE_SU-2013-0469-1.NASL
    descriptionThis Apache2 LTSS roll-up update for SUSE Linux Enterprise 10 SP3 LTSS fixes the following security issues and bugs : - CVE-2012-4557: Denial of Service via special requests in mod_proxy_ajp - CVE-2012-0883: improper LD_LIBRARY_PATH handling - CVE-2012-2687: filename escaping problem - CVE-2012-0031: Fixed a scoreboard corruption (shared mem segment) by child causes crash of privileged parent (invalid free()) during shutdown. - CVE-2012-0053: Fixed an issue in error responses that could expose
    last seen2020-06-05
    modified2015-05-20
    plugin id83578
    published2015-05-20
    reporterThis script is Copyright (C) 2015-2020 Tenable Network Security, Inc.
    sourcehttps://www.tenable.com/plugins/nessus/83578
    titleSUSE SLES10 Security Update : apache2 (SUSE-SU-2013:0469-1)
    code
    #%NASL_MIN_LEVEL 80502
    #
    # (C) Tenable Network Security, Inc.
    #
    # The descriptive text and package checks in this plugin were
    # extracted from SUSE update advisory SUSE-SU-2013:0469-1.
    # The text itself is copyright (C) SUSE.
    #
    
    include("compat.inc");
    
    if (description)
    {
      script_id(83578);
      script_version("2.7");
      script_set_attribute(attribute:"plugin_modification_date", value:"2020/06/04");
    
      script_cve_id("CVE-2007-6750", "CVE-2011-1473", "CVE-2011-3368", "CVE-2011-3607", "CVE-2011-3639", "CVE-2011-4317", "CVE-2012-0021", "CVE-2012-0031", "CVE-2012-0053", "CVE-2012-0883", "CVE-2012-2687", "CVE-2012-4557");
      script_bugtraq_id(21865, 48626, 49957, 50494, 50802, 51705, 51869, 53046, 55131, 56753);
    
      script_name(english:"SUSE SLES10 Security Update : apache2 (SUSE-SU-2013:0469-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 Apache2 LTSS roll-up update for SUSE Linux Enterprise 10 SP3 LTSS
    fixes the following security issues and bugs :
    
      - CVE-2012-4557: Denial of Service via special requests in
        mod_proxy_ajp
    
      - CVE-2012-0883: improper LD_LIBRARY_PATH handling
    
      - CVE-2012-2687: filename escaping problem
    
      - CVE-2012-0031: Fixed a scoreboard corruption (shared mem
        segment) by child causes crash of privileged parent
        (invalid free()) during shutdown.
    
      - CVE-2012-0053: Fixed an issue in error responses that
        could expose 'httpOnly' cookies when no custom
        ErrorDocument is specified for status code 400'.
    
      - The SSL configuration template has been adjusted not to
        suggested weak ciphers CVE-2007-6750: The
        'mod_reqtimeout' module was backported from Apache
        2.2.21 to help mitigate the 'Slowloris' Denial of
        Service attack.
    
        You need to enable the 'mod_reqtimeout' module in your
        existing apache configuration to make it effective, e.g.
        in the APACHE_MODULES line in /etc/sysconfig/apache2.
    
      - CVE-2011-3639, CVE-2011-3368, CVE-2011-4317: This update
        also includes several fixes for a mod_proxy reverse
        exposure via RewriteRule or ProxyPassMatch directives.
    
      - CVE-2011-1473: Fixed the SSL renegotiation DoS by
        disabling renegotiation by default.
    
      - CVE-2011-3607: Integer overflow in ap_pregsub function
        resulting in a heap-based buffer overflow could
        potentially allow local attackers to gain privileges
    
    Additionally, some non-security bugs have been fixed which are listed
    in the changelog file.
    
    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."
      );
      # http://download.suse.com/patch/finder/?keywords=25e42b7bd84d54954a51c9fe38e777e0
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?216a63aa"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2012-0021.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2012-0883.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2012-2687.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"http://support.novell.com/security/cve/CVE-2012-4557.html"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/688472"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/719236"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/722545"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/727071"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/727993"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/729181"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/736706"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/738855"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/741243"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/743743"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/757710"
      );
      script_set_attribute(
        attribute:"see_also",
        value:"https://bugzilla.novell.com/777260"
      );
      # https://www.suse.com/support/update/announcement/2013/suse-su-20130469-1.html
      script_set_attribute(
        attribute:"see_also",
        value:"http://www.nessus.org/u?64e1fdd5"
      );
      script_set_attribute(
        attribute:"solution", 
        value:"Update the affected apache2 packages"
      );
      script_set_cvss_base_vector("CVSS2#AV:L/AC:M/Au:N/C:C/I:C/A:C");
      script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
      script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
      script_set_attribute(attribute:"exploit_available", value:"true");
      script_set_attribute(attribute:"exploithub_sku", value:"EH-14-410");
      script_set_attribute(attribute:"exploit_framework_exploithub", value:"true");
    
      script_set_attribute(attribute:"plugin_type", value:"local");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2-devel");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2-doc");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2-example-pages");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2-prefork");
      script_set_attribute(attribute:"cpe", value:"p-cpe:/a:novell:suse_linux:apache2-worker");
      script_set_attribute(attribute:"cpe", value:"cpe:/o:novell:suse_linux:10");
    
      script_set_attribute(attribute:"patch_publication_date", value:"2013/03/15");
      script_set_attribute(attribute:"plugin_publication_date", value:"2015/05/20");
      script_end_attributes();
    
      script_category(ACT_GATHER_INFO);
      script_copyright(english:"This script is Copyright (C) 2015-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/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 = eregmatch(pattern: "^(SLE(S|D)\d+)", string:release);
    if (isnull(os_ver)) audit(AUDIT_UNKNOWN_APP_VER, "SUSE");
    os_ver = os_ver[1];
    if (! ereg(pattern:"^(SLES10)$", string:os_ver)) audit(AUDIT_OS_NOT, "SUSE SLES10", "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 == "SLES10" && (! ereg(pattern:"^3$", string:sp))) audit(AUDIT_OS_NOT, "SLES10 SP3", os_ver + " SP" + sp);
    
    
    flag = 0;
    if (rpm_check(release:"SLES10", sp:"3", reference:"apache2-2.2.3-16.32.45.1")) flag++;
    if (rpm_check(release:"SLES10", sp:"3", reference:"apache2-devel-2.2.3-16.32.45.1")) flag++;
    if (rpm_check(release:"SLES10", sp:"3", reference:"apache2-doc-2.2.3-16.32.45.1")) flag++;
    if (rpm_check(release:"SLES10", sp:"3", reference:"apache2-example-pages-2.2.3-16.32.45.1")) flag++;
    if (rpm_check(release:"SLES10", sp:"3", reference:"apache2-prefork-2.2.3-16.32.45.1")) flag++;
    if (rpm_check(release:"SLES10", sp:"3", reference:"apache2-worker-2.2.3-16.32.45.1")) flag++;
    
    
    if (flag)
    {
      if (report_verbosity > 0) security_warning(port:0, extra:rpm_report_get());
      else security_warning(0);
      exit(0);
    }
    else
    {
      tested = pkg_tests_get();
      if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
      else audit(AUDIT_PACKAGE_NOT_INSTALLED, "apache2");
    }
    

References