CVE-2020-2816Vulnerability in the Java SE product of Oracle Java SE (component: JSSE). Supported versions that are affected are Java SE: 11.0.6 and 14. Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTPS to compromise Java SE. Successful attacks of this vulnerability can result in unauthorized creation, deletion or modification access to critical data or all Java SE 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 7.5 (Integrity impacts). CVSS Vector: (CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N).
No public exploit
Nothing published shows this CVE being exploited, which is not the same as ruling it out. nothing published in 6 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/java-11/2020-Q2-April/CVE-2020-2816/patch/2.6/CVE-2020-2816.armr patch rule added 2020-07-23 updated 2026-03-04app("2020 APRIL CPU"):
requires(version: "ARMR/2.6")
/***************************************************************************
CVE-2020-2816 (2020 APRIL CPU)
CVSS 3.0 Summary:
Base Score | 7.5 HIGH
Attack Vector | Network
Attack Complexity | Low
Privileges Required | None
User Interaction | None
Scope | Unchanged
Confidentiality Impact | None
Integrity Impact | High
Availability Impact | None
Description:
It was discovered that the TLS/SSL implementation in the JSEE
component of OpenJDK did not properly handle application data
packets received prior to the handshake completion. This could
allow unauthorized injection of data at the beginning a TLS session.
Resources:
https://www.oracle.com/security-alerts/cpuapr2020.html#AppendixJAVA
https://bugzilla.redhat.com/show_bug.cgi?id=1823853
http://hg.openjdk.java.net/jdk-updates/jdk11u/rev/517f0515f160
Affected Operating System:
Any
Affected Versions:
11u6, 14u0
Fixed Versions:
11u7, 14u1
Tested Versions:
11u0 - 11u6
Protection Provided:
Functional
Patch Version:
1.0
***************************************************************************/
patch("CVE-2020-2816 :01"):
function("sun/security/ssl/SSLTransport.decode(Lsun/security/ssl/TransportContext;[Ljava/nio/ByteBuffer;II[Ljava/nio/ByteBuffer;II)Lsun/security/ssl/Plaintext;",
checksums: ["eb9248f223"]) // 11u0 - 11u6
instruction(277) // 277: ifnonnull 288
code(language: java, import: ["javax.net.ssl.SSLException"]):
private byte id;
private Object UNEXPECTED_MESSAGE;
private JavaField contentTypeField;
private JavaField isNegotiatedField;
private JavaMethod fatalMethod;
private boolean shouldInit = true;
public void init() {
Object applicationData = JavaField.load("sun/security/ssl/ContentType.APPLICATION_DATA")
.readObject(null);
id = JavaField.load("sun/security/ssl/ContentType.id")
.readByte(applicationData);
UNEXPECTED_MESSAGE = JavaField.load("sun/security/ssl/Alert.UNEXPECTED_MESSAGE")
.readObject(null);
contentTypeField = JavaField.load("sun/security/ssl/Plaintext.contentType");
isNegotiatedField = JavaField.load("sun/security/ssl/TransportContext.isNegotiated");
fatalMethod = JavaMethod.load("sun/security/ssl/TransportContext.fatal(Lsun/security/ssl/Alert;Ljava/lang/String;)V");
shouldInit = false;
}
public void patch(JavaFrame frame) {
if (shouldInit) {
init();
}
Object plainText = frame.loadObjectOperand(0);
if (plainText == null) {
return;
}
byte contentType = contentTypeField.readByte(plainText);
if (contentType == id) {
Object context = frame.loadObjectVariable(0);
if (!isNegotiatedField.readBoolean(context)) {
try {
fatalMethod.call(context, UNEXPECTED_MESSAGE, "Receiving application data before handshake complete");
} catch (Throwable ex) {
frame.raiseException(ex);
}
}
}
}
endcode
endpatch
endapp
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
3 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.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
NVD | Primary | published |
| CVSS 3.0 | 7.5 | HIGH | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
secalert_us@oracle.com | Secondary | |
| CVSS 2.0 | 5.0 | no band published | AV:N/AC:L/Au:N/C:N/I:P/A:N |
NVD | Primary |
| Advisory | Type | Quarter | Products Oracle named in risk matrix |
|---|---|---|---|
| Oracle Critical Patch Update April 2020 ↗ | CPU | 2020-Q2 | Oracle Java SE / JSSE (Java SE: 11.0.6, 14) |
| Family | Component | Oracle's version cell (verbatim) | Indexed as |
|---|---|---|---|
| Oracle Java SE | JSSE | Java SE: 11.0.6, 14 | 11.0.6.0 · 14.0.0.0 |
| Source | Vendor | Product | Scheme | Affected Versions |
|---|---|---|---|---|
| nvd | canonical | ubuntu linux | generic | 16.04 · 18.04 · 19.10 |
| nvd | debian | debian linux | generic | 10.0 |
| nvd | netapp | 7-mode transition tool | generic | any version |
| nvd | netapp | active iq unified manager | generic | ≥ 7.3 · ≥ 9.5 |
| nvd | netapp | cloud backup | generic | any version |
| nvd | netapp | e-series performance analyzer | generic | any version |
| nvd | netapp | e-series santricity os controller | generic | ≥ 11.0.0 and ≤ 11.60.1 |
| nvd | netapp | e-series santricity web services | generic | any version |
| nvd | netapp | oncommand insight | generic | any version |
| nvd | netapp | oncommand workflow automation | generic | any version |
| nvd | netapp | plug-in for symantec netbackup | generic | any version |
| nvd | netapp | santricity unified manager | generic | any version |
| nvd | netapp | snapmanager | generic | any version |
| nvd | netapp | steelstore cloud integrated storage | generic | any version |
| nvd | netapp | storagegrid | generic | any version · ≥ 9.0.0 and ≤ 9.0.4 |
| nvd | opensuse | leap | generic | 15.1 |
| nvd | oracle | jdk | javase | 11.0.6 · 14.0.0 |
| nvd | oracle | jre | javase | 11.0.6 · 14.0.0 |
| nvd | oracle | openjdk | javase | 7 · 7:update1 · 7:update2 · 7:update3 · 7:update4 · 7:update5 · 7:update6 · 7:update7 · 7:update9 · 7:update10 · 7:update11 · 7:update13 · 7:update15 · 7:update17 · 7:update21 · 7:update25 · 7:update40 · 7:update45 · 7:update51 · 7:update55 · 7:update60 · 7:update65 · 7:update67 · 7:update72 · 7:update76 · 7:update80 · 7:update85 · 7:update91 · 7:update95 · 7:update97 · 7:update99 · 7:update101 · 7:update111 · 7:update121 · 7:update131 · 7:update141 · 7:update151 · 7:update161 · 7:update171 · 7:update181 · 7:update191 · 7:update201 · 7:update211 · 7:update221 · 7:update231 · 7:update241 · 7:update251 · 8 · 8:update5 · 8:update11 · 8:update20 · 8:update25 · 8:update31 · 8:update40 · 8:update45 · 8:update51 · 8:update60 · 8:update65 · 8:update66 · 8:update71 · 8:update72 · 8:update73 · 8:update74 · 8:update77 · 8:update91 · 8:update92 · 8:update101 · 8:update102 · 8:update111 · 8:update112 · 8:update121 · 8:update131 · 8:update141 · 8:update151 · 8:update152 · 8:update161 · 8:update162 · 8:update171 · 8:update172 · 8:update181 · 8:update191 · 8:update192 · 8:update201 · 8:update202 · 8:update211 · 8:update212 · 8:update221 · 8:update231 · 8:update241 · ≥ 11.0.0.0 and ≤ 11.0.6.0 · ≥ 13.0.0.0 and ≤ 13.0.2.0 · 14 |
| URL | Tags |
|---|---|
| https://access.redhat.com/errata/RHSA-2020:1509 | ADVISORY, RHSA-2020:1509 |
| https://access.redhat.com/security/cve/CVE-2020-2816 | REPORT, RHSA-2020:1509 |
| https://access.redhat.com/errata/RHSA-2020:1514 | ADVISORY, RHSA-2020:1514 |
| https://access.redhat.com/errata/RHSA-2020:1517 | ADVISORY, RHSA-2020:1517 |
| http://lists.opensuse.org/opensuse-security-announce/2020-06/msg00000.html | Third Party Advisory |
| https://security.netapp.com/advisory/ntap-20200416-0004/ | Third Party Advisory |
| https://usn.ubuntu.com/4337-1/ | Third Party Advisory |
| https://www.debian.org/security/2020/dsa-4662 | Third Party Advisory |
| https://www.oracle.com/security-alerts/cpuapr2020.html | Vendor Advisory |
| Published | 2020-04-15 | By the CVE Program. |
|---|---|---|
| ARMR remediation created | 2020-07-23 | 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. |