VRT 391,192 CVEs tracked · 15,442 in RASP scope · data as of 18 hours ago

CVE-2020-2816

7.5 High Protected by RASP

Description

Vulnerability 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).

Exploitation Status

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

  • CISA KEV not listed
  • CISA Vulnrichment exploitation: none
  • Indexed PoC none indexed
  • EPSS 2.8% chance in 30 days

Waratek Defense Posture

Protected by RASP

A Waratek agent blocks this today.

Applicable rule: CVE has an ARMR patch rule that provides mitigation

  • Protection full a patch rule written for this CVE
  • Action available patch rule
  • Review human armr-file
  • Record active
Decided by armr-patch-file : An ARMR patch file on disk for this CVE
Finding CVE has an ARMR patch rule that provides mitigation

ARMR rule files

1 file

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-04
app("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

7.5 HIGH v3.1 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.

VersionScoreBandVectorAssignerType
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

Affected Software & Releases

🏛️ Oracle CPU Advisories & Products

AdvisoryTypeQuarterProducts Oracle named in risk matrix
Oracle Critical Patch Update April 2020 CPU 2020-Q2 Oracle Java SE / JSSE (Java SE: 11.0.6, 14)

Indexed Oracle Components & Versions

FamilyComponentOracle's version cell (verbatim)Indexed as
Oracle Java SE JSSE Java SE: 11.0.6, 14 11.0.6.0 · 14.0.0.0

🖥️ Product CPEs & Version Ranges

19 product(s) over 116 version claims (uncapped)
SourceVendorProductSchemeAffected 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

References

URLTags
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

Timeline

Published 2020-04-15 Last modified 2026-06-17
Published2020-04-15By the CVE Program.
ARMR remediation created2020-07-23Earliest commit adding this CVE's ARMR patch or security rule.
ARMR remediation last updated2026-03-04Most recent commit touching this CVE's ARMR patch or security rule.
Last VRT activity2026-03-04Most recent commit touching this CVE's classification, patch or rule file.
NVD record modified2026-06-17NVD's own last-modified date for this record.