CVE-2018-2800Vulnerability in the Java SE, JRockit component of Oracle Java SE (subcomponent: RMI). Supported versions that are affected are Java SE: 6u181, 7u171 and 8u162; JRockit: R28.3.17. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Java SE, JRockit. Successful attacks require human interaction from a person other than the attacker. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Java SE, JRockit accessible data as well as unauthorized read access to a subset of Java SE, JRockit accessible data. Note: This vulnerability can only be exploited by supplying data to APIs in the specified Component without using Untrusted Java Web Start applications or Untrusted Java applets, such as through a web service. CVSS 3.0 Base Score 4.2 (Confidentiality and Integrity impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N).
No public exploit
Nothing published shows this CVE being exploited, which is not the same as ruling it out. nothing published in 8 years.
CVSS E:U
A Waratek agent blocks this today.
Applicable rule: CVE has an ARMR patch rule that provides mitigation
| Decided by | armr-patch-file : An ARMR patch file on disk for this CVE |
|---|---|
| Finding | CVE has an ARMR patch rule that provides mitigation |
Shipped files covering this CVE. A CVE genuinely takes more than one: separate Maven artifacts hooking different parser classes, the same patch built for two ARMR versions, or a fix at both the framework and the container.
vcpu/2018/Q2-April/CVE-2018-2800/patch/2.6/CVE-2018-2800.armr patch rule added 2020-06-28 updated 2026-03-04app("2018 APRIL CPU"):
requires(version: "ARMR/2.6")
/***************************************************************************
CVE-2018-2800 (2018 APRIL CPU)
CVSS 3.0 Summary:
Base Score | 4.2 MEDIUM
Attack Vector | Network
Attack Complexity | High
Privileges Required | None
User Interaction | Required
Scope | Unchanged
Confidentiality Impact | Low
Integrity Impact | Low
Availability Impact | None
Description:
It was discovered that the RMI component of OpenJDK enabled HTTP
transport for RMI servers by default. This could possibly expose RMI
services to attackers who can not connect to them directly by
attacking web browsers of users able to directly connect to the
services. The fix for this issue disables the use of RMI HTTP
transport by default. System property
java.rmi.server.disableIncomingHttp (with the default value of
"true") can be used to enable HTTP transport.
Resources:
https://bugzilla.redhat.com/show_bug.cgi?id=1568163
Affected Versions:
6u181, 7u171, 8u162, JRockit R28.3.17
Tested Versions:
6u0 - 6u181
7u0 - 7u171
8u0 - 8u162
Protection Provided:
Functional (default), Alerting
Patch Version:
1.1
***************************************************************************/
patch("CVE-2018-2800 :01"):
function("sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.run0()V",
checksums: ["c6311a8fa1", // 6u0 - 6u85, 7u0 - 7u72, 8u0 - 8u25
"98b9c6c15c", // 6u91 - 6u181, 7u75 - 7u171
"40a95593e2", // 8u31
"d5cf73fc8a", // 8u40
"970bf37f52", // 8u45, 8u71
"6657867f84", // 8u51, 8u72, 8u74 - 8u91
"2db9f73cac", // 8u60
"6b6a263839", // 8u65
"c13c86b2e5", // 8u66
"7cab537e97", // 8u73
"72ec483133"]) // 8u92 - 8u162
callreturn("java/io/DataInputStream.readInt()I",
occurrences: [1])
code(language: java, import: ["java.rmi.RemoteException"]):
private static final boolean ALERTING_MODE = false;
private static int POST;
private static boolean shouldInit = true;
private void init() {
POST = JavaField.load("sun/rmi/transport/tcp/TCPTransport$ConnectionHandler.POST")
.readInt(null);
shouldInit = false;
}
public void patch(JavaFrame frame) {
if (shouldInit) {
init();
}
int magic = frame.loadIntOperand(0);
if (magic != POST) {
return;
}
if (ALERTING_MODE) {
ArmrEvent event = ArmrEvent.load("Execute Rule", "medium");
event.addExtension("suser", System.getProperty("user.name", ""));
event.addExtension("msg", "RMI over HTTP was performed as system property `java.rmi.server.disableIncomingHttp` was set to false");
event.addExtension("act", "allow");
event.commit();
} else {
System.err.println("DISABLED: true");
frame.raiseException(new RemoteException("RMI over HTTP is disabled"));
}
}
endcode
endpatch
endapp
CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
2 metrics
VRT selects the newest version's highest entry and
publishes it as cvssScore, newest rather than largest because scores are not comparable
across versions, and highest rather than first because the first entry is frequently a CNA placeholder
scoring 0.0 over NVD's own analysis.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| CVSS 3.0 | 4.2 | MEDIUM | CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N |
NVD | Primary | published |
| CVSS 2.0 | 4.0 | no band published | AV:N/AC:H/Au:N/C:P/I:P/A:N |
NVD | Primary |
| Advisory | Type | Quarter | Products Oracle named in risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update April 2018 ↗ | CPU | 2018-Q2 | Oracle Java SE / RMI (Java SE: 6u181, 7u171, 8u162; JRockit: R28.3.17) |
| Family | Component | Oracle's version cell (verbatim) | Indexed as |
|---|---|---|---|
| Oracle Java SE | RMI | Java SE: 6u181, 7u171, 8u162; JRockit: R28.3.17 | 6.0.181.0 · 7.0.171.0 · 8.0.162.0 |
| Source | Vendor | Product | Scheme | Affected Versions |
|---|---|---|---|---|
| nvd | canonical | ubuntu linux | generic | 14.04 · 16.04 · 17.10 |
| nvd | debian | debian linux | generic | 8.0 · 9.0 |
| nvd | hp | xp7 command view | generic | any version |
| nvd | oracle | jdk | javase | 1.6.0:update181 · 1.7.0:update171 · 1.8.0:update162 |
| nvd | oracle | jre | javase | 1.6.0:update181 · 1.7.0:update171 · 1.8.0:update162 |
| nvd | oracle | jrockit | generic | r28.3.17 |
| nvd | redhat | enterprise linux desktop | generic | 6.0 · 7.0 |
| nvd | redhat | enterprise linux server | generic | 6.0 · 7.0 |
| nvd | redhat | enterprise linux server aus | generic | 7.6 |
| nvd | redhat | enterprise linux server eus | generic | 7.5 · 7.6 |
| nvd | redhat | enterprise linux server tus | generic | 7.6 |
| nvd | redhat | enterprise linux workstation | generic | 6.0 · 7.0 |
| nvd | redhat | satellite | generic | 5.6 · 5.7 · 5.8 |
| nvd | schneider-electric | struxureware data center expert | generic | any version · < 7.6.0 |
| URL | Tags |
|---|---|
| https://access.redhat.com/errata/RHSA-2018:1188 | ADVISORY, RHSA-2018:1188 |
| https://access.redhat.com/security/cve/CVE-2018-2800 | REPORT, RHSA-2018:1188 |
| https://access.redhat.com/errata/RHSA-2018:1191 | ADVISORY, RHSA-2018:1191 |
| https://access.redhat.com/errata/RHSA-2018:1202 | ADVISORY, RHSA-2018:1202 |
| https://access.redhat.com/errata/RHSA-2018:1204 | ADVISORY, RHSA-2018:1204 |
| https://access.redhat.com/errata/RHSA-2018:1270 | ADVISORY, RHSA-2018:1270 |
| https://access.redhat.com/errata/RHSA-2018:1278 | ADVISORY, RHSA-2018:1278 |
| https://access.redhat.com/errata/RHSA-2018:1721 | ADVISORY, RHSA-2018:1721 |
| https://access.redhat.com/errata/RHSA-2018:1722 | ADVISORY, RHSA-2018:1722 |
| https://access.redhat.com/errata/RHSA-2018:1975 | ADVISORY, RHSA-2018:1975 |
| Published | 2018-04-19 | By the CVE Program. |
|---|---|---|
| ARMR remediation created | 2020-06-28 | Earliest commit adding this CVE's ARMR patch or security rule. |
| ARMR remediation last updated | 2026-03-04 | Most recent commit touching this CVE's ARMR patch or security rule. |
| Last VRT activity | 2026-03-04 | Most recent commit touching this CVE's classification, patch or rule file. |
| NVD record modified | 2026-06-17 | NVD's own last-modified date for this record. |