CVE-2016-5547Vulnerability in the Java SE, Java SE Embedded, JRockit component of Oracle Java SE (subcomponent: Libraries). Supported versions that are affected are Java SE: 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 ability to cause a partial denial of service (partial DOS) of Java SE, Java SE Embedded, JRockit. 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 (Availability 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-5547/patch/2.6/CVE-2016-5547.armr patch rule added 2020-06-26 updated 2026-03-04app("2017 JANUARY CPU"):
requires(version: "ARMR/2.6")
/***************************************************************************
CVE-2016-5547 (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 | None
Availability Impact | Low
Description:
It was discovered that the Libraries component of OpenJDK did not
validate the length of the object identifier read from the DER input
before allocating memory to store the OID. An attacker able to make
a Java application decode a specially crafted DER input could cause
the application to consume an excessive amount of memory.
Resources:
https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2016-5547
hg diff -c 12ae26801105 (jdk7)
Affected Versions:
7u121, 8u112, JRockit R28.3.12
Tested Versions:
7u0 - 7u121
8u0 - 8u112
Protection Provided:
Functional
Patch Version:
1.0
***************************************************************************/
patch("CVE-2016-5547 :01"):
function("sun/security/util/ObjectIdentifier.<init>(Lsun/security/util/DerInputStream;)V",
checksums: ["30bdc58e75"]) // 7u0 - 7u121, 8u0 - 8u112
callreturn("sun/security/util/DerInputStream.getLength()I")
code(language: java, import: ["sun.security.util.DerInputStream",
"java.io.IOException"]):
public void patch(JavaFrame frame) {
DerInputStream derInputStream = (DerInputStream) frame.loadObjectVariable(1);
int len = (int) frame.loadIntOperand(0);
int available = derInputStream.available();
if (len > available) {
frame.raiseException(
new IOException("ObjectIdentifier() -- length exceeds " +
"data available. Length: " + len + ", Available: " + available));
}
}
endcode
endpatch
endapp
CVSS:3.0/AV:N/AC:L/PR:N/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.
| 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: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 |
| 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: 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: 7u121, 8u112; Java SE Embedded: 8u111; JRockit: R28.3.12 | 7.0.121.0 · 8.0.111.0 · 8.0.112.0 |
| URL | Tags |
|---|---|
| https://access.redhat.com/errata/RHSA-2017:0175 | ADVISORY, RHSA-2017:0175 |
| https://access.redhat.com/security/cve/CVE-2016-5547 | 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-0180.html | |
| http://rhn.redhat.com/errata/RHSA-2017-0263.html | |
| http://rhn.redhat.com/errata/RHSA-2017-0269.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. |