It was discovered that the Security component of OpenJDK did not properly ensure that manifest elements were signed before use. An attacker could possibly use this to specially construct an untrusted Java application or applet that could escape sandbox restrictions.
(CVE-2018-3136)
Artem Smotrakov discovered that the HTTP client redirection handler implementation in OpenJDK did not clear potentially sensitive information in HTTP headers when following redirections to different hosts. An attacker could use this to expose sensitive information.
(CVE-2018-3139)
It was discovered that the Java Naming and Directory Interface (JNDI) implementation in OpenJDK did not properly enforce restrictions specified by system properties in some situations. An attacker could potentially use this to execute arbitrary code. (CVE-2018-3149)
It was discovered that the Utility component of OpenJDK did not properly ensure all attributes in a JAR were signed before use. An attacker could use this to specially construct an untrusted Java application or applet that could escape sandbox restrictions. This issue only affected Ubuntu 18.04 LTS and Ubuntu 18.10. (CVE-2018-3150)
It was discovered that the Hotspot component of OpenJDK did not properly perform access checks in certain cases when performing field link resolution. An attacker could use this to specially construct an untrusted Java application or applet that could escape sandbox restrictions. (CVE-2018-3169)
Felix Dorre discovered that the Java Secure Socket Extension (JSSE) implementation in OpenJDK did not ensure that the same endpoint identification algorithm was used during TLS session resumption as during initial session setup. An attacker could use this to expose sensitive information. (CVE-2018-3180)
Krzysztof Szafranski discovered that the Scripting component did not properly restrict access to the scripting engine in some situations.
An attacker could use this to specially construct an untrusted Java application or applet that could escape sandbox restrictions.
(CVE-2018-3183)
Tobias Ospelt discovered that the Resource Interchange File Format (RIFF) reader implementation in OpenJDK contained an infinite loop. An attacker could use this to cause a denial of service. This issue only affected Ubuntu 16.04 LTS. (CVE-2018-3214).
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.
#
# (C) Tenable Network Security, Inc.
#
# The descriptive text and package checks in this plugin were
# extracted from Ubuntu Security Notice USN-3804-1. The text
# itself is copyright (C) Canonical, Inc. See
# <http://www.ubuntu.com/usn/>. Ubuntu(R) is a registered
# trademark of Canonical, Inc.
#
include('compat.inc');
if (description)
{
script_id(118568);
script_version("1.8");
script_set_attribute(attribute:"plugin_modification_date", value:"2023/10/21");
script_cve_id(
"CVE-2018-3136",
"CVE-2018-3139",
"CVE-2018-3149",
"CVE-2018-3150",
"CVE-2018-3169",
"CVE-2018-3180",
"CVE-2018-3183",
"CVE-2018-3214"
);
script_xref(name:"USN", value:"3804-1");
script_name(english:"Ubuntu 16.04 LTS / 18.04 LTS : OpenJDK vulnerabilities (USN-3804-1)");
script_set_attribute(attribute:"synopsis", value:
"The remote Ubuntu host is missing one or more security updates.");
script_set_attribute(attribute:"description", value:
"It was discovered that the Security component of OpenJDK did not
properly ensure that manifest elements were signed before use. An
attacker could possibly use this to specially construct an untrusted
Java application or applet that could escape sandbox restrictions.
(CVE-2018-3136)
Artem Smotrakov discovered that the HTTP client redirection handler
implementation in OpenJDK did not clear potentially sensitive
information in HTTP headers when following redirections to different
hosts. An attacker could use this to expose sensitive information.
(CVE-2018-3139)
It was discovered that the Java Naming and Directory Interface (JNDI)
implementation in OpenJDK did not properly enforce restrictions
specified by system properties in some situations. An attacker could
potentially use this to execute arbitrary code. (CVE-2018-3149)
It was discovered that the Utility component of OpenJDK did not
properly ensure all attributes in a JAR were signed before use. An
attacker could use this to specially construct an untrusted Java
application or applet that could escape sandbox restrictions. This
issue only affected Ubuntu 18.04 LTS and Ubuntu 18.10. (CVE-2018-3150)
It was discovered that the Hotspot component of OpenJDK did not
properly perform access checks in certain cases when performing field
link resolution. An attacker could use this to specially construct an
untrusted Java application or applet that could escape sandbox
restrictions. (CVE-2018-3169)
Felix Dorre discovered that the Java Secure Socket Extension (JSSE)
implementation in OpenJDK did not ensure that the same endpoint
identification algorithm was used during TLS session resumption as
during initial session setup. An attacker could use this to expose
sensitive information. (CVE-2018-3180)
Krzysztof Szafranski discovered that the Scripting component did not
properly restrict access to the scripting engine in some situations.
An attacker could use this to specially construct an untrusted Java
application or applet that could escape sandbox restrictions.
(CVE-2018-3183)
Tobias Ospelt discovered that the Resource Interchange File Format
(RIFF) reader implementation in OpenJDK contained an infinite loop. An
attacker could use this to cause a denial of service. This issue only
affected Ubuntu 16.04 LTS. (CVE-2018-3214).
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.");
script_set_attribute(attribute:"see_also", value:"https://ubuntu.com/security/notices/USN-3804-1");
script_set_attribute(attribute:"solution", value:
"Update the affected packages.");
script_set_cvss_base_vector("CVSS2#AV:N/AC:M/Au:N/C:P/I:P/A:P");
script_set_cvss_temporal_vector("CVSS2#E:U/RL:OF/RC:C");
script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H");
script_set_cvss3_temporal_vector("CVSS:3.0/E:U/RL:O/RC:C");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2018-3183");
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:"2018/10/17");
script_set_attribute(attribute:"patch_publication_date", value:"2018/10/30");
script_set_attribute(attribute:"plugin_publication_date", value:"2018/10/31");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jdk");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jdk-headless");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jre");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jre-headless");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jre-zero");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-source");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-demo");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jdk");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jdk-headless");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jre");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jre-headless");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jre-jamvm");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jre-zero");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-8-source");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:16.04:-:lts");
script_set_attribute(attribute:"cpe", value:"cpe:/o:canonical:ubuntu_linux:18.04:-:lts");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:canonical:ubuntu_linux:openjdk-11-demo");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Ubuntu Local Security Checks");
script_copyright(english:"Ubuntu Security Notice (C) 2018-2023 Canonical, Inc. / NASL script (C) 2018-2023 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info.nasl");
script_require_keys("Host/cpu", "Host/Ubuntu", "Host/Ubuntu/release", "Host/Debian/dpkg-l");
exit(0);
}
include('debian_package.inc');
if ( ! get_kb_item('Host/local_checks_enabled') ) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
var os_release = get_kb_item('Host/Ubuntu/release');
if ( isnull(os_release) ) audit(AUDIT_OS_NOT, 'Ubuntu');
os_release = chomp(os_release);
if (! ('16.04' >< os_release || '18.04' >< os_release)) audit(AUDIT_OS_NOT, 'Ubuntu 16.04 / 18.04', 'Ubuntu ' + os_release);
if ( ! get_kb_item('Host/Debian/dpkg-l') ) audit(AUDIT_PACKAGE_LIST_MISSING);
var cpu = get_kb_item('Host/cpu');
if (isnull(cpu)) audit(AUDIT_UNKNOWN_ARCH);
if ('x86_64' >!< cpu && cpu !~ "^i[3-6]86$" && 's390' >!< cpu && 'aarch64' >!< cpu) audit(AUDIT_LOCAL_CHECKS_NOT_IMPLEMENTED, 'Ubuntu', cpu);
var pkgs = [
{'osver': '16.04', 'pkgname': 'openjdk-8-demo', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-jdk', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-jdk-headless', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-jre', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-jre-headless', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-jre-jamvm', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-jre-zero', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '16.04', 'pkgname': 'openjdk-8-source', 'pkgver': '8u181-b13-1ubuntu0.16.04.1'},
{'osver': '18.04', 'pkgname': 'openjdk-11-demo', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'},
{'osver': '18.04', 'pkgname': 'openjdk-11-jdk', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'},
{'osver': '18.04', 'pkgname': 'openjdk-11-jdk-headless', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'},
{'osver': '18.04', 'pkgname': 'openjdk-11-jre', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'},
{'osver': '18.04', 'pkgname': 'openjdk-11-jre-headless', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'},
{'osver': '18.04', 'pkgname': 'openjdk-11-jre-zero', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'},
{'osver': '18.04', 'pkgname': 'openjdk-11-source', 'pkgver': '10.0.2+13-1ubuntu0.18.04.3'}
];
var flag = 0;
foreach package_array ( pkgs ) {
var osver = NULL;
var pkgname = NULL;
var pkgver = NULL;
if (!empty_or_null(package_array['osver'])) osver = package_array['osver'];
if (!empty_or_null(package_array['pkgname'])) pkgname = package_array['pkgname'];
if (!empty_or_null(package_array['pkgver'])) pkgver = package_array['pkgver'];
if (osver && pkgname && pkgver) {
if (ubuntu_check(osver:osver, pkgname:pkgname, pkgver:pkgver)) flag++;
}
}
if (flag)
{
security_report_v4(
port : 0,
severity : SECURITY_WARNING,
extra : ubuntu_report_get()
);
exit(0);
}
else
{
var tested = ubuntu_pkg_tests_get();
if (tested) audit(AUDIT_PACKAGE_NOT_AFFECTED, tested);
else audit(AUDIT_PACKAGE_NOT_INSTALLED, 'openjdk-11-demo / openjdk-11-jdk / openjdk-11-jdk-headless / etc');
}
Vendor | Product | Version | CPE |
---|---|---|---|
canonical | ubuntu_linux | openjdk-11-jdk | p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jdk |
canonical | ubuntu_linux | openjdk-11-jdk-headless | p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jdk-headless |
canonical | ubuntu_linux | openjdk-11-jre | p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jre |
canonical | ubuntu_linux | openjdk-11-jre-headless | p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jre-headless |
canonical | ubuntu_linux | openjdk-11-jre-zero | p-cpe:/a:canonical:ubuntu_linux:openjdk-11-jre-zero |
canonical | ubuntu_linux | openjdk-11-source | p-cpe:/a:canonical:ubuntu_linux:openjdk-11-source |
canonical | ubuntu_linux | openjdk-8-demo | p-cpe:/a:canonical:ubuntu_linux:openjdk-8-demo |
canonical | ubuntu_linux | openjdk-8-jdk | p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jdk |
canonical | ubuntu_linux | openjdk-8-jdk-headless | p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jdk-headless |
canonical | ubuntu_linux | openjdk-8-jre | p-cpe:/a:canonical:ubuntu_linux:openjdk-8-jre |
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3136
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3139
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3149
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3150
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3169
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3180
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3183
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-3214
ubuntu.com/security/notices/USN-3804-1