What Is Oracle Java SE and JRockit?
Oracle Java SE (Standard Edition) is the most widely deployed enterprise programming platform, providing the Java Runtime Environment (JRE) and Java Development Kit (JDK) used by applications, enterprise middleware, and web services worldwide. JRockit was Oracle's high-performance JVM (acquired from BEA Systems) optimized for server-side use, particularly in Oracle WebLogic Server and other enterprise Java application servers. JRockit reached end-of-life in 2018.
Java Management Extensions (JMX) is a Java technology that provides tools for managing and monitoring Java applications, system objects, devices, and service-oriented networks. JMX exposes management interfaces — called MBeans (Managed Beans) — that allow remote management of running Java applications over a network. When exposed without proper authentication, JMX interfaces provide powerful capabilities to interact with the JVM internals, making JMX security a critical concern for Java deployments.
Overview
CVE-2016-3427 is a critical unspecified vulnerability in Oracle Java SE and JRockit that allows remote unauthenticated attackers to affect the confidentiality, integrity, and availability of affected systems via vectors related to Java Management Extensions (JMX). With a CVSS 9.8 score and PR:N / UI:N (no authentication, no user interaction), the vulnerability can be exploited remotely against any network-reachable Java instance with JMX exposed. The vulnerability also affects sandboxed Java Web Start applications and applets. Oracle patched it in the Critical Patch Update April 2016 (Java SE 6u115, 7u101, 8u91; JRockit R28.3.9). CISA added CVE-2016-3427 to the KEV catalog in May 2023.
Affected Versions
| Product | Versions | Status |
|---|---|---|
| Oracle Java SE | 6u113 and earlier | Vulnerable |
| Oracle Java SE | 7u99 and earlier | Vulnerable |
| Oracle Java SE | 8u77 and earlier | Vulnerable |
| Oracle JRockit | R28.3.8 and earlier | Vulnerable |
| Oracle Java SE | 6u115, 7u101, 8u91 | Fixed (CPU April 2016) |
| Oracle JRockit | R28.3.9 | Fixed (CPU April 2016) |
Technical Details
Root Cause: JMX Access Control Failure
CVE-2016-3427 involves improper access control (CWE-284) in Java's JMX implementation. JMX provides a network-accessible management interface (typically on a configurable RMI/JRMP port) that allows remote clients to invoke MBean operations, read/write MBean attributes, and create new MBean instances.
The vulnerability allows unauthenticated (or insufficiently authenticated) remote access to JMX operations that should require authentication, enabling an attacker to:
- Invoke dangerous MBeans — JMX exposes powerful management capabilities, including the ability to load new MBeans from remote URLs (via
MLetMBean) or invoke ClassLoader operations - Remote class loading — the MLet MBean allows loading Java classes from attacker-controlled URLs; loading a malicious class results in arbitrary code execution within the JVM
- Full JVM control — JMX MBean operations can modify runtime behavior, access in-memory secrets, dump heap snapshots, or execute OS commands via
Runtime.getRuntime().exec()
JMX as an Attack Surface
JMX ports (default RMI registry port 1099, and a second dynamically assigned data port) are frequently:
- Exposed on internal networks without authentication in enterprise Java application servers
- Used by monitoring systems (Nagios, Zabbix, Prometheus JMX Exporter) creating access requirements that reduce authentication enforcement
- Forgotten in production — JMX ports opened for debugging that were never closed
Exploitation with Non-Sandboxed Deployments
Oracle's advisory notes the vulnerability is exploitable "through a web service" — meaning server-side Java applications with JMX exposed to the network are directly vulnerable without requiring any browser applet or Web Start application. This network-direct exploitation path is what drives the CVSS 9.8 / PR:N / UI:N rating.
Attack Characteristics
| Attribute | Detail |
|---|---|
| Attack Vector | Network — JMX endpoint accessible over TCP |
| Authentication | None required (unauthenticated exploitation) |
| Java Components | JMX, MLet MBean, RMI registry |
| Execution | Arbitrary code in JVM context (application server process) |
| Also Affected | Sandboxed Java Web Start applications and applets |
Discovery
Reported to Oracle through coordinated disclosure; addressed in Oracle's quarterly Critical Patch Update (CPU) for April 2016, which is Oracle's standard mechanism for patching Java and other Oracle product vulnerabilities.
Exploitation Context
- JMX exploitation as a recurring vector: JMX-based remote code execution has been a known attack pattern since at least 2013; CVE-2016-3427 represents an instance of this ongoing attack class where Java's JMX implementation failed to enforce access controls properly
- Enterprise Java exposure: Oracle WebLogic, JBoss/WildFly, Tomcat, and other Java application servers are commonly deployed with JMX enabled for monitoring; internal network exposure of JMX has led to widespread exploitation in enterprise environments during lateral movement phases
- CISA KEV addition in 2023: The late addition (seven years after the patch) reflects active exploitation discovered in ongoing threat actor campaigns — likely attackers targeting unpatched legacy Java installations in enterprise environments
- JRockit EOL: Oracle JRockit reached end-of-life in July 2018; any remaining JRockit installations are permanently unpatched for all vulnerabilities discovered after that date
- Supply chain and scanner tooling: Automated vulnerability scanners and exploitation frameworks (Metasploit, custom Python tools) have included JMX exploitation modules since the mid-2010s, enabling relatively low-skill exploitation
Remediation
-
Apply Oracle CPU April 2016 or later — upgrade to Java SE 6u115, 7u101, 8u91 or later (any current Java LTS release is patched). Oracle Java SE releases are available from oracle.com; OpenJDK builds are available from Adoptium and other distributors.
-
Use a currently supported Java version — Java SE 8 (with current updates), Java 11, and Java 21 are current LTS releases with active security support. Java 6 and 7 have been end-of-life since 2013/2015; update immediately.
-
Disable JMX if not required — remove JMX flags (
-Dcom.sun.management.jmxremote) from application server startup scripts unless JMX monitoring is specifically required. -
Restrict JMX network access — if JMX is required, firewall JMX ports (default 1099 + dynamic port) to allow access only from authorized monitoring systems; JMX should never be internet-accessible.
-
Enable JMX authentication — configure JMX to require authentication (
jmxremote.authenticate=true) with properly secured password files; use SSL for JMX connections (jmxremote.ssl=true). -
Replace JRockit — Oracle JRockit is end-of-life with no further security patches; migrate JRockit-based applications to Oracle HotSpot JDK or OpenJDK.
Key Details
| Property | Value |
|---|---|
| CVE ID | CVE-2016-3427 |
| Vendor / Product | Oracle — Java SE and JRockit |
| NVD Published | 2016-04-21 |
| NVD Last Modified | 2025-10-22 |
| CVSS 3.1 Score | 9.8 |
| CVSS 3.1 Vector | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| Severity | CRITICAL |
| CWE | CWE-284 — Improper Access Control find similar ↗ |
| CISA KEV Added | 2023-05-12 |
| CISA KEV Deadline | 2023-06-02 |
| Known Ransomware Use | No |
CVSS 3.1 Breakdown
Required Action
Timeline
| Date | Event |
|---|---|
| 2016-04-19 | Oracle releases Critical Patch Update April 2016 patching CVE-2016-3427 in Java SE 6u115, 7u101, 8u91 and JRockit R28.3.9 |
| 2016-04-21 | CVE-2016-3427 published by NVD |
| 2023-05-12 | Added to CISA Known Exploited Vulnerabilities catalog |
| 2023-06-02 | CISA BOD 22-01 remediation deadline |
References
| Resource | Type |
|---|---|
| NVD — CVE-2016-3427 | Vulnerability Database |
| CISA KEV Catalog Entry | US Government |
| Oracle Critical Patch Update Advisory — April 2016 | Vendor Advisory |