CVE-2016-3427 — Oracle Java SE and JRockit Unspecified Vulnerability

CVE-2016-3427

Oracle Java SE and JRockit — Unauthenticated Remote Code Execution via Java Management Extensions (JMX); CVSS 9.8; Patched Oracle CPU April 2016

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

Actively Exploited. This vulnerability has been added to CISA's Known Exploited Vulnerabilities (KEV) Catalog on May 12, 2023. Federal agencies are required to apply mitigations per BOD 22-01.

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:

  1. Invoke dangerous MBeans — JMX exposes powerful management capabilities, including the ability to load new MBeans from remote URLs (via MLet MBean) or invoke ClassLoader operations
  2. 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
  3. 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

CISA BOD 22-01 Deadline: June 2, 2023. Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.
  1. 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.

  2. 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.

  3. Disable JMX if not required — remove JMX flags (-Dcom.sun.management.jmxremote) from application server startup scripts unless JMX monitoring is specifically required.

  4. 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.

  5. Enable JMX authentication — configure JMX to require authentication (jmxremote.authenticate=true) with properly secured password files; use SSL for JMX connections (jmxremote.ssl=true).

  6. 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

PropertyValue
CVE ID CVE-2016-3427
Vendor / Product Oracle — Java SE and JRockit
NVD Published2016-04-21
NVD Last Modified2025-10-22
CVSS 3.1 Score9.8
CVSS 3.1 VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
SeverityCRITICAL
CWE CWE-284 — Improper Access Control find similar ↗
CISA KEV Added2023-05-12
CISA KEV Deadline2023-06-02
Known Ransomware Use No

CVSS 3.1 Breakdown

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Required Action

CISA BOD 22-01 Deadline: 2023-06-02. Apply updates per vendor instructions.

Timeline

DateEvent
2016-04-19Oracle releases Critical Patch Update April 2016 patching CVE-2016-3427 in Java SE 6u115, 7u101, 8u91 and JRockit R28.3.9
2016-04-21CVE-2016-3427 published by NVD
2023-05-12Added to CISA Known Exploited Vulnerabilities catalog
2023-06-02CISA BOD 22-01 remediation deadline

References

ResourceType
NVD — CVE-2016-3427 Vulnerability Database
CISA KEV Catalog Entry US Government
Oracle Critical Patch Update Advisory — April 2016 Vendor Advisory