Lucene search

K
nessusThis script is Copyright (C) 2016-2022 and is owned by Tenable, Inc. or an Affiliate thereof.ORACLE_JAVA_INSTALLER_CVE-2016-0603.NASL
HistoryFeb 16, 2016 - 12:00 a.m.

Oracle Java SE Installer on Windows Arbitrary Code Execution

2016-02-1600:00:00
This script is Copyright (C) 2016-2022 and is owned by Tenable, Inc. or an Affiliate thereof.
www.tenable.com
24

The version of Oracle Java SE or Java for Business installed on the remote host is prior to 8 Update 73, 7 Update 97, or 6 Update 113. It is, therefore, affected by an arbitrary code execution vulnerability that may have been exploited when installing Java. If an attacker convinced a user to download a set of malicious files before Java was installed, then arbitrary code may have been executed during the installation. A system with the vulnerable versions of Java installed should be checked for malicious software or abnormal behaviors.

#%NASL_MIN_LEVEL 70300
#
# (C) Tenable Network Security, Inc.
#

include('deprecated_nasl_level.inc');
include('compat.inc');

if (description)
{
  script_id(88755);
  script_version("1.6");
  script_set_attribute(attribute:"plugin_modification_date", value:"2022/04/11");

  script_cve_id("CVE-2016-0603");
  script_bugtraq_id(83008);

  script_name(english:"Oracle Java SE Installer on Windows Arbitrary Code Execution");

  script_set_attribute(attribute:"synopsis", value:
"The remote Windows host contains a programming platform that is
affected by an arbitrary code execution vulnerability.");
  script_set_attribute(attribute:"description", value:
"The version of Oracle Java SE or Java for Business installed on the
remote host is prior to 8 Update 73, 7 Update 97, or 6 Update 113. It
is, therefore, affected by an arbitrary code execution vulnerability
that may have been exploited when installing Java. If an attacker
convinced a user to download a set of malicious files before Java was
installed, then arbitrary code may have been executed during the
installation. A system with the vulnerable versions of Java installed
should be checked for malicious software or abnormal behaviors.");
  script_set_attribute(attribute:"see_also", value:"https://blogs.oracle.com/oraclesecurity/");
  # https://www.oracle.com/technetwork/topics/security/alert-cve-2016-0603-2874360.html
  script_set_attribute(attribute:"see_also", value:"http://www.nessus.org/u?eb8074f2");
  script_set_attribute(attribute:"solution", value:
"Discard any installers for versions of Oracle JDK / JRE prior to 8
Update 73, 7 Update 97, or 6 Update 113. Additionally, check for
malicious software or abnormal behavior.");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:H/Au:N/C:C/I:C/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2016-0603");

  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:"2016/02/05");
  script_set_attribute(attribute:"patch_publication_date", value:"2016/02/05");
  script_set_attribute(attribute:"plugin_publication_date", value:"2016/02/16");

  script_set_attribute(attribute:"potential_vulnerability", value:"true");
  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:jre");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:oracle:jdk");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  script_end_attributes();

  script_category(ACT_GATHER_INFO);
  script_family(english:"Windows");

  script_copyright(english:"This script is Copyright (C) 2016-2022 and is owned by Tenable, Inc. or an Affiliate thereof.");

  script_dependencies("sun_java_jre_installed.nasl");
  script_require_keys("SMB/Java/JRE/Installed", "Settings/ParanoidReport", "SMB/Registry/Enumerated");

  exit(0);
}

include("audit.inc");
include("global_settings.inc");
include("misc_func.inc");

# Only windows
get_kb_item_or_exit("SMB/Registry/Enumerated");

# Exploitation occurs during installation process of
# vulnerable version
if (report_paranoia < 2) audit(AUDIT_PARANOID);

# Check each installed JRE.
installs = get_kb_list_or_exit("SMB/Java/JRE/*");

info = "";
vuln = 0;
installed_versions = "";

foreach install (list_uniq(keys(installs)))
{
  ver = install - "SMB/Java/JRE/";
  if (ver !~ "^[0-9.]+") continue;

  installed_versions = installed_versions + " & " + ver;

  # Fixes : (JDK|JRE) 8 Update 73 / 7 Update 97 / 6 Update 113
  if (
    ver =~ '^1\\.6\\.0_([0-9]|[0-9][0-9]|10[0-9]|11[0-2])([^0-9]|$)' ||
    ver =~ '^1\\.7\\.0_([0-9]|[0-8][0-9]|9[0-6])([^0-9]|$)' ||
    ver =~ '^1\\.8\\.0_([0-9]|[0-6][0-9]|7[0-2])([^0-9]|$)'
  )
  {
    dirs = make_list(get_kb_list(install));
    vuln += max_index(dirs);

    foreach dir (dirs)
      info += '\n  Path              : ' + dir;

    info += '\n  Installed version : ' + ver;
    info += '\n  Fixed version     : 1.6.0_113 / 1.7.0_97 / 1.8.0_73\n';
  }
}

# Report if any were found to be vulnerable.
if (info)
{
  port = get_kb_item("SMB/transport");
  if (!port) port = 445;

  if (vuln > 1) s = "s of Java are";
  else s = " of Java is";
  report =
    '\n' +
    'The following vulnerable instance'+s+' installed on the\n' +
    'remote host :\n' +
    info +
    '\n' +
    'Note that the exploitation of this vulnerability would have occurred\n' +
    'during the installation process of this version of Java. Updates for\n' +
    'Java 6 and 7 require a support contract with Oracle.\n';
  security_report_v4(port:port, severity:SECURITY_HOLE, extra:report);
  exit(0);
}
else
{
  installed_versions = substr(installed_versions, 3);
  if (" & " >< installed_versions)
    exit(0, "The Java "+installed_versions+" installs on the remote host are not affected.");
  else
    audit(AUDIT_INST_VER_NOT_VULN, "Java", installed_versions);
}
VendorProductVersionCPE
oraclejrecpe:/a:oracle:jre
oraclejdkcpe:/a:oracle:jdk
Related for ORACLE_JAVA_INSTALLER_CVE-2016-0603.NASL