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

CVE-2016-5552

5.3 Medium Protected by RASP

Description

Vulnerability in the Java SE, Java SE Embedded, JRockit component of Oracle Java SE (subcomponent: Networking). Supported versions that are affected are Java SE: 6u131, 7u121 and 8u112; Java SE Embedded: 8u111; JRockit: R28.3.12. Easily exploitable vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Java SE, Java SE Embedded, JRockit. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Java SE, Java SE Embedded, JRockit accessible data. Note: Applies to client and server deployment of Java. This vulnerability can be exploited through sandboxed Java Web Start applications and sandboxed Java applets. It can also be exploited by supplying data to APIs in the specified Component without using sandboxed Java Web Start applications or sandboxed Java applets, such as through a web service. CVSS v3.0 Base Score 5.3 (Integrity impacts).

Exploitation Status

No public exploit

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

CVSS E:U

  • CISA KEV not listed
  • CISA Vulnrichment exploitation: none
  • Indexed PoC none indexed
  • EPSS 2.7% 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

2 files

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/2017/Q1-January/CVE-2016-5552/patch/2.11/CVE-2016-5552.armr patch rule added 2024-10-10
app("CVE-2016-5552"):
requires(version: ARMR/2.11)
    rapidpatch("CVE-2016-5552: 8u121"):
        class("java/net/URLStreamHandler"):
            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
            QMb9C108ck0lDwAA
        endclass
    endrapidpatch

    rapidpatch("CVE-2016-5552: 7u131"):
        class("java/net/URLStreamHandler"):
            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
        endclass
    endrapidpatch

    rapidpatch("CVE-2016-5552: 6u141"):
        class("java/net/URLStreamHandler"):
            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
        endclass
    endrapidpatch
endapp
vcpu/2017/Q1-January/CVE-2016-5552/patch/2.6/CVE-2016-5552.armr patch rule added 2020-06-26 updated 2026-03-04
app("2017 JANUARY CPU"):
    requires(version: "ARMR/2.6")

    /***************************************************************************
        CVE-2016-5552 (2017 JANUARY CPU)

        CVSS 3.0 Summary:
            Base Score              | 5.3 MEDIUM
            Attack Vector           | Network
            Attack Complexity       | Low
            Privileges Required     | None
            User Interaction        | None
            Scope                   | Unchanged
            Confidentiality Impact  | None
            Integrity Impact        | Low
            Availability Impact     | None

        Description:
            It was discovered that the Networking component of OpenJDK failed to
            properly parse user info from the URL. A remote attacker could cause
            a Java application to incorrectly parse an attacker supplied URL and
            interpret it differently from other applications processing the same
            URL.

        Resources:
            https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-5552
            hg diff -c e588b451d198 (jdk6)

        Affected Versions:
            6u131, 7u121, 8u112

        Tested Versions:
            6u0 - 6u131
            7u0 - 7u121
            8u0 - 8u112

        Protection Provided:
            Functional

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

    patch("CVE-2016-5552 :01"):
        function("java/net/URLStreamHandler.parseURL(Ljava/net/URL;Ljava/lang/String;II)V",
            checksums: ["562607884f"])  // 6u0 - 6u131, 7u0 - 7u121, 8u0 - 8u112
        entry()

        code(language: java,   import: ["java.net.URL",
                                        "sun.net.util.IPAddressUtil"]):
            private static JavaMethod setURLMethod;

            public void load() {
                setURLMethod = JavaMethod.load("java/net/URLStreamHandler.setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V");
            }

            public void patch(JavaFrame frame) {
                Object self = frame.loadThisVariable();
                URL u = (URL) frame.loadObjectVariable(1);
                String spec = frame.loadStringVariable(2);
                int start = frame.loadIntVariable(3);
                int limit = frame.loadIntVariable(4);
                String protocol = u.getProtocol();
                String authority = u.getAuthority();
                String userInfo = u.getUserInfo();
                String host = u.getHost();
                int port = u.getPort();
                String path = u.getPath();
                String query = u.getQuery();
                String ref = u.getRef();
                boolean isRelPath = false;
                boolean queryOnly = false;

                if (start < limit) {
                    int queryStart = spec.indexOf('?');
                    queryOnly = queryStart == start;
                    if ((queryStart != -1) && (queryStart < limit)) {
                        query = spec.substring(queryStart+1, limit);
                        if (limit > queryStart)
                            limit = queryStart;
                        spec = spec.substring(0, queryStart);
                    }
                }
                int i = 0;
                boolean isUNCName = (start <= limit - 4) &&
                    (spec.charAt(start) == '/') &&
                    (spec.charAt(start + 1) == '/') &&
                    (spec.charAt(start + 2) == '/') &&
                    (spec.charAt(start + 3) == '/');

                if (!isUNCName && (start <= limit - 2) && (spec.charAt(start) == '/') &&
                    (spec.charAt(start + 1) == '/')) {
                    start += 2;
                    i = spec.indexOf('/', start);
                    if (i < 0 || i > limit) {
                        i = spec.indexOf('?', start);
                        if (i < 0 || i > limit)
                            i = limit;
                    }

                    host = authority = spec.substring(start, i);
                    int ind = authority.indexOf('@');
                    if (ind != -1) {
                        if (ind != authority.lastIndexOf('@')) {
                            userInfo = null;
                            host = null;
                        } else {
                            userInfo = authority.substring(0, ind);
                            host = authority.substring(ind+1);
                        }
                    } else {
                        userInfo = null;
                    }
                    if (host != null) {
                        if (host.length() > 0 && (host.charAt(0) == '[')) {
                            if ((ind = host.indexOf(']')) > 2) {
                                String nhost = host;
                                host = nhost.substring(0, ind + 1);

                                if (!IPAddressUtil.isIPv6LiteralAddress(host.substring(1, ind))) {
                                    frame.raiseException(new IllegalArgumentException("Invalid host: " + host));
                                    return;
                                }
                                port = -1;
                                if (nhost.length() > ind + 1) {
                                    if (nhost.charAt(ind + 1) == ':') {
                                        ++ind;
                                        if (nhost.length() > (ind + 1)) {
                                            port = Integer.parseInt(nhost.substring(ind + 1));
                                        }
                                    } else {
                                        frame.raiseException(new IllegalArgumentException(
                                            "Invalid authority field: " + authority));
                                            return;
                                    }
                                }
                            } else {
                                frame.raiseException(new IllegalArgumentException(
                                    "Invalid authority field: " + authority));
                                    return;
                            }
                        } else {
                            try {
                                ind = host.indexOf(':');
                                port = -1;
                                if (ind >= 0) {
                                    if (host.length() > (ind + 1)) {
                                        port = Integer.parseInt(host.substring(ind + 1));
                                    }
                                    host = host.substring(0, ind);
                                }
                            } catch (java.lang.NumberFormatException ex) {
                                frame.raiseException(ex);
                                return;
                            }
                        }
                    } else {
                        host = "";
                    }
                    if (port < -1) {
                        frame.raiseException(new IllegalArgumentException("Invalid port number :" + port));
                        return;
                    }
                    start = i;
                    if (authority != null && authority.length() > 0) {
                        path = "";
                    }
                }

                if (host == null) {
                    host = "";
                }

                if (start < limit) {
                    if (spec.charAt(start) == '/') {
                        path = spec.substring(start, limit);
                    } else if (path != null && path.length() > 0) {
                        isRelPath = true;
                        int ind = path.lastIndexOf('/');
                        String seperator = "";
                        if (ind == -1 && authority != null){
                            seperator = "/";
                        }
                        path = path.substring(0, ind + 1) + seperator + spec.substring(start, limit);

                    } else {
                        String seperator = (authority != null) ? "/" : "";
                        path = seperator + spec.substring(start, limit);
                    }
                } else if (queryOnly && path != null) {
                    int ind = path.lastIndexOf('/');
                    if (ind < 0) {
                        ind = 0;
                    }
                    path = path.substring(0, ind) + "/";
                }

                if (path == null) {
                    path = "";
                }

                if (isRelPath) {
                    while ((i = path.indexOf("/./")) >= 0) {
                        path = path.substring(0, i) + path.substring(i + 2);
                    }
                    i = 0;
                    while ((i = path.indexOf("/../", i)) >= 0) {
                        if (i > 0 && (limit = path.lastIndexOf('/', i - 1)) >= 0 &&
                        (path.indexOf("/../", limit) != 0)) {
                            path = path.substring(0, limit) + path.substring(i + 3);
                            i = 0;
                        } else {
                            i = i + 3;
                        }
                    }
                    while (path.endsWith("/..")) {
                        i = path.indexOf("/..");
                        if ((limit = path.lastIndexOf('/', i - 1)) >= 0) {
                            path = path.substring(0, limit+1);
                        } else {
                            break;
                        }
                    }
                    if (path.startsWith("./") && path.length() > 2) {
                        path = path.substring(2);
                    }
                    if (path.endsWith("/.")) {
                        path = path.substring(0, path.length() -1);
                    }
                }

                try {
                    setURLMethod.call(self, u, protocol, host, port, authority, userInfo, path, query, ref);
                    frame.returnVoid();
                } catch (Throwable t) {
                    if (t instanceof IllegalArgumentException) {
                        frame.raiseException(t);
                    } else {
                        throw new RuntimeException(t);
                    }
                }
            }
        endcode
    endpatch

endapp

CVSS

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

VersionScoreBandVectorAssignerType
CVSS 3.0 5.3 MEDIUM CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N NVD Primary published
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 January 2017 CPU 2017-Q1 Oracle Java SE / Java SE, Java SE Embedded, JRockit (Java SE: 6u131, 7u121, 8u112; Java SE Embedded: 8u111; JRockit: R28.3.12)

Indexed Oracle Components & Versions

FamilyComponentOracle's version cell (verbatim)Indexed as
Oracle Java SE Java SE, Java SE Embedded, JRockit Java SE: 6u131, 7u121, 8u112; Java SE Embedded: 8u111; JRockit: R28.3.12 6.0.131.0 · 7.0.121.0 · 8.0.111.0 · 8.0.112.0

🖥️ Product CPEs & Version Ranges

3 product(s) over 9 version claims (uncapped)
SourceVendorProductSchemeAffected Versions
nvd oracle jdk javase 1.6:update_131 · 1.7:update_121 · 1.8:update_111 · 1.8:update_112
nvd oracle jre javase 1.6:update_131 · 1.7:update_121 · 1.8:update_111 · 1.8:update_112
nvd oracle jrockit generic r28.3.12

References

URLTags
https://access.redhat.com/errata/RHSA-2017:0175 ADVISORY, RHSA-2017:0175
https://access.redhat.com/security/cve/CVE-2016-5552 REPORT, RHSA-2017:0175
https://access.redhat.com/errata/RHSA-2017:0180 ADVISORY, RHSA-2017:0180
https://access.redhat.com/errata/RHSA-2017:0263 ADVISORY, RHSA-2017:0263
https://access.redhat.com/errata/RHSA-2017:0269 ADVISORY, RHSA-2017:0269
http://rhn.redhat.com/errata/RHSA-2017-0175.html
http://rhn.redhat.com/errata/RHSA-2017-0176.html
http://rhn.redhat.com/errata/RHSA-2017-0177.html
http://rhn.redhat.com/errata/RHSA-2017-0180.html
http://rhn.redhat.com/errata/RHSA-2017-0263.html

Timeline

Published 2017-01-27 Last modified 2026-06-17
Published2017-01-27By 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.