CVE-2016-5552Vulnerability 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).
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
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/2017/Q1-January/CVE-2016-5552/patch/2.11/CVE-2016-5552.armr patch rule added 2024-10-10app("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-04app("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: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.
| Version | Score | Band | Vector | Assigner | Type | |
|---|---|---|---|---|---|---|
| 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 |
| Advisory | Type | Quarter | Products 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) |
| Family | Component | Oracle'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 |
| Source | Vendor | Product | Scheme | Affected 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 |
| URL | Tags |
|---|---|
| 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 |
| Published | 2017-01-27 | By the CVE Program. |
|---|---|---|
| ARMR remediation created | 2020-06-26 | 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. |