VRT 391,810 CVEs tracked · 15,472 in RASP scope · data as of 23 minutes ago

CVE-2016-3425

4.3 Medium Protected by RASP

Description

Unspecified vulnerability in Oracle Java SE 6u113, 7u99, and 8u77; Java SE Embedded 8u77; and JRockit R28.3.9 allows remote attackers to affect availability via vectors related to JAXP.

Exploitation Status

No public exploit

Nothing published shows this CVE being exploited, which is not the same as ruling it out. nothing published in 10 years.

CVSS E:U

  • CISA KEV not listed
  • CISA Vulnrichment exploitation: none
  • Indexed PoC none indexed
  • EPSS 3.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/2016/Q2-April/CVE-2016-3425/patch/2.6/CVE-2016-3425.armr patch rule added 2020-06-26 updated 2026-03-04
app("2016 APRIL CPU"):
    requires(version: "ARMR/2.6")

    /***************************************************************************
        CVE-2016-3425 (2016 APRIL CPU)

        CVSS 2.0 Summary:
            Base Score              | 5.0 MEDIUM
            Attack Vector           | Network
            Attack Complexity       | Low
            Authentication          | None
            Confidentiality         | None
            Integrity               | None
            Availability            | Partial

        Description:
            It was discovered that the JAXP (Java API for XML Processing)
            component of OpenJDK failed to properly handle Unicode surrogate
            pairs used as part of the XML attribute values. A specially-crafted
            XML input could cause a Java application to use an excessive amount
            of memory when parsed.

        Resources:
            https://bugzilla.redhat.com/show_bug.cgi?id=1328040

        Affected Versions:
            6u113, 7u99, 8u77, JRockit R28.3.9

        Tested Versions:
            6u0 - 6u113
            7u0 - 7u99
            8u0 - 8u77

        Protection Provided:
            Functional

        Patch Version:
            1.1
    ***************************************************************************/

    patch("CVE-2016-3425 :01"):
        function("com/sun/org/apache/xerces/internal/impl/XMLScanner.scanAttributeValue(Lcom/sun/org/apache/xerces/internal/xni/XMLString;Lcom/sun/org/apache/xerces/internal/xni/XMLString;Ljava/lang/String;Lcom/sun/org/apache/xerces/internal/xni/XMLAttributes;IZ)V",
            checksums: ["50db31616f",   // 6u0  - 6u13
                        "b50b38f3b4",   // 6u14
                        "aede41fe5a",   // 6u15 - 6u17
                        "e7bca8149d",   // 6u18 - 6u32
                        "bea0640262",   // 6u33 - 6u60
                        "1185b63b21",   // 6u65 - 6u95
                        "22a84f9127",   // 7u0  - 7u4
                        "6b88b31531",   // 7u5  - 7u40
                        "2a27bfc0e0"])  // 7u45 - 7u80, 8u0 - 8u45 (method doesn't exist after 7u80 and 8u45)
        callsite("com/sun/org/apache/xerces/internal/impl/XMLScanner.scanSurrogates(Lcom/sun/org/apache/xerces/internal/util/XMLStringBuffer;)Z")

        code(language: java,   import: ["com.sun.org.apache.xerces.internal.util.XMLStringBuffer"]):

            private static JavaField fStringBuffer3Field;

            public void load() {
                fStringBuffer3Field =
                    JavaField.load("com/sun/org/apache/xerces/internal/impl/XMLScanner.fStringBuffer3");
            }

            public void patch(JavaFrame frame) {
                Object self = frame.loadThisVariable();
                XMLStringBuffer fStringBuffer3 =
                    (XMLStringBuffer) fStringBuffer3Field.readObject(self);
                fStringBuffer3.clear();
            }
        endcode
    endpatch

    patch("CVE-2016-3425 :02"):
        function("com/sun/org/apache/xerces/internal/impl/XMLScanner.scanAttributeValue(Lcom/sun/org/apache/xerces/internal/xni/XMLString;Lcom/sun/org/apache/xerces/internal/xni/XMLString;Ljava/lang/String;Lcom/sun/org/apache/xerces/internal/xni/XMLAttributes;IZLjava/lang/String;)V",
            checksums: ["bce4819389",   // 6u101
                        "a478a49f1f",   // 6u105
                        "5035374146",   // 6u111 - 6u113
                        "62c9e78bb5",   // 7u85,        8u51 - 8u60
                        "1023bc6b97",   // 7u91,        8u65 - 8u66
                        "4408a2e24d"])  // 7u95 - 7u99, 8u71 - 8u77
        callsite("com/sun/org/apache/xerces/internal/impl/XMLScanner.scanSurrogates(Lcom/sun/org/apache/xerces/internal/util/XMLStringBuffer;)Z")

        code(language: java,   import: ["com.sun.org.apache.xerces.internal.util.XMLStringBuffer"]):

            private static JavaField fStringBuffer3Field;

            public void load() {
                fStringBuffer3Field =
                    JavaField.load("com/sun/org/apache/xerces/internal/impl/XMLScanner.fStringBuffer3");
            }

            public void patch(JavaFrame frame) {
                Object self = frame.loadThisVariable();
                XMLStringBuffer fStringBuffer3 =
                    (XMLStringBuffer) fStringBuffer3Field.readObject(self);
                fStringBuffer3.clear();
            }
        endcode
    endpatch

endapp

CVSS

4.3 MEDIUM v3.0 CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L 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.

VersionScoreBandVectorAssignerType
CVSS 3.0 4.3 MEDIUM CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L NVD Primary published
CVSS 2.0 5.0 no band published AV:N/AC:L/Au:N/C:N/I:N/A:P NVD Primary

Affected Software & Releases

🏛️ Oracle CPU Advisories & Products

AdvisoryTypeQuarterProducts Oracle named in risk matrix
Oracle Critical Patch Update April 2016 CPU 2016-Q2 Oracle Java SE / JAXP (Java SE: 6u113, 7u99, 8u77; Java SE Embedded: 8u77; JRockit: R28.3.9)

Indexed Oracle Components & Versions

FamilyComponentOracle's version cell (verbatim)Indexed as
Oracle Java SE JAXP Java SE: 6u113, 7u99, 8u77; Java SE Embedded: 8u77; JRockit: R28.3.9 6.0.113.0 · 7.0.99.0 · 8.0.77.0

🖥️ Product CPEs & Version Ranges

3 product(s) over 7 version claims (uncapped)
SourceVendorProductSchemeAffected Versions
nvd oracle jdk javase 1.6.0:update113 · 1.7.0:update99 · 1.8.0:update77
nvd oracle jre javase 1.6.0:update113 · 1.7.0:update99 · 1.8.0:update77
nvd oracle jrockit generic r28.3.9

References

URLTags
https://access.redhat.com/errata/RHSA-2016:0650 ADVISORY, RHSA-2016:0650
https://access.redhat.com/security/cve/CVE-2016-3425 REPORT, RHSA-2016:0650
https://access.redhat.com/errata/RHSA-2016:0651 ADVISORY, RHSA-2016:0651
https://access.redhat.com/errata/RHSA-2016:0675 ADVISORY, RHSA-2016:0675
https://access.redhat.com/errata/RHSA-2016:0676 ADVISORY, RHSA-2016:0676
https://access.redhat.com/errata/RHSA-2016:0677 ADVISORY, RHSA-2016:0677
https://access.redhat.com/errata/RHSA-2016:0723 ADVISORY, RHSA-2016:0723
http://lists.opensuse.org/opensuse-security-announce/2016-05/msg00006.html
http://lists.opensuse.org/opensuse-security-announce/2016-05/msg00009.html
http://lists.opensuse.org/opensuse-security-announce/2016-05/msg00012.html

Timeline

Published 2016-04-21 Last modified 2026-06-17
Published2016-04-21By the CVE Program.
ARMR remediation created2020-06-26Earliest 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.