CVE-2016-4437
Apache Shiro Code Execution Vulnerability
Description
CVE-2016-4437 is a critical-severity code execution vulnerability in Apache Shiro before version 1.2.5. When a cipher key has not been configured for the "remember me" feature, Apache Shiro uses a default hard-coded cryptographic key that allows remote attackers to execute arbitrary code or bypass intended access restrictions via an unspecified request parameter. CISA has added CVE-2016-4437 to its Known Exploited Vulnerabilities catalog, confirming active exploitation. With an EPSS score of 94.1% (99.9th percentile), exploitation is near certain, making this one of the most actively targeted Apache Shiro vulnerabilities.
KEV Information
CVSS Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpen in CalculatorCWEs
Affected Products
| Vendor | Product | Version |
|---|---|---|
| apache | aurora | >= 0.10.0, < 0.18.1 |
| apache | shiro | < 1.2.5 |
| redhat | fuse | 1.0 |
| redhat | jboss middleware text-only advisories | 1.0 |
Multiple CVSS Assessments
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
References
- http://packetstormsecurity.com/files/137310/Apache-Shiro-1.2.4-Information-Disclosure.html(Third Party Advisory, VDB Entry)
- http://packetstormsecurity.com/files/157497/Apache-Shiro-1.2.4-Remote-Code-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- http://rhn.redhat.com/errata/RHSA-2016-2035.html(Third Party Advisory)
- http://rhn.redhat.com/errata/RHSA-2016-2036.html(Third Party Advisory)
- http://www.securityfocus.com/archive/1/538570/100/0/threaded(Broken Link, Third Party Advisory, VDB Entry)
- http://www.securityfocus.com/bid/91024(Broken Link, Third Party Advisory, VDB Entry)
- https://lists.apache.org/thread.html/ef3a800c7d727a00e04b78e2f06c5cd8960f09ca28c9b69d94c3c4c4%40%3Cannouncements.aurora.apache.org%3E(Mailing List)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2016-4437(US Government Resource)
Weakness Type
CWE-321: Use of Hard-coded Cryptographic Key
In Apache Shiro, the use of a hard-coded cryptographic key occurs in the "remember me" feature, which uses a default AES encryption key when no custom key is configured. Since this default key is publicly known and shared across all Apache Shiro installations that haven't configured a custom key, attackers can craft encrypted "remember me" cookies containing malicious serialized Java objects that the server will decrypt and deserialize, leading to remote code execution.
Learn more: CWE-321 — Use of Hard-coded Cryptographic Key
Impact Analysis
CVE-2016-4437 carries a CVSS 3.1 score of 9.8 (CRITICAL), reflecting the maximum severity tier. The vulnerability is remotely exploitable over the network with low attack complexity, requiring no authentication and no user interaction. Successful exploitation can fully compromise confidentiality, integrity, and availability, allowing attackers to execute arbitrary code on the server or bypass authentication and access control entirely. The EPSS score of 94.1% indicates near-certain exploitation activity. The vulnerability is particularly insidious because many administrators are unaware that Apache Shiro requires explicit key configuration, leaving default installations exposed. Any application using Shiro's "remember me" feature without a custom encryption key is vulnerable to complete remote compromise.
Exploit Maturity
CVE-2016-4437 has extensive exploit maturity with confirmed active exploitation in the wild. CISA has listed it in the Known Exploited Vulnerabilities catalog. Public exploit code is available via Packet Storm Security, providing a ready-to-use remote code execution exploit for Apache Shiro 1.2.4. The well-known default AES key (kPH+bIxk5D2deZiIxcaaaA==) has been widely documented, making exploitation trivial for any attacker. The EPSS score of 94.1% (99.9th percentile) confirms near-certain exploitation activity. Automated scanning tools routinely probe for this vulnerability, and the default key is included in many penetration testing frameworks.
Remediation
- Upgrade Apache Shiro immediately as mandated by CISA KEV: Apply updates per vendor instructions. Upgrade to Apache Shiro 1.2.5 or later, which addresses the default key vulnerability.
- Even after upgrading, explicitly configure a unique, randomly generated AES encryption key for the "remember me" feature in your Shiro configuration. Never rely on any default key, as the default key from older versions remains publicly known.
- Audit all applications in your environment for Apache Shiro dependencies, including those bundled in Apache Aurora (versions 0.10.0 through 0.18.0), Red Hat Fuse, and JBoss Middleware products, and apply vendor-specific patches.
- Monitor application logs for suspicious "remember me" cookie values, particularly unusually large cookies or cookies that trigger deserialization errors, which may indicate exploitation attempts.
- As a defense-in-depth measure, implement Java deserialization filters to restrict which classes can be deserialized from cookie data, reducing the attack surface even if the encryption key is compromised.
Technical Details
CVE-2016-4437 is a code execution vulnerability in Apache Shiro before version 1.2.5, caused by the use of a hard-coded default AES encryption key for the "remember me" cookie feature. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H reflects the maximum exploitability profile: network-accessible, low complexity, no authentication, no user interaction. When Shiro's "remember me" feature is enabled without a custom cipher key configuration, it uses a default AES key (kPH+bIxk5D2deZiIxcaaaA==) that is embedded in the source code and publicly documented. Attackers exploit this by crafting a malicious "remember me" cookie containing an AES-encrypted serialized Java object. The server decrypts the cookie using the known default key and deserializes the payload, triggering a Java deserialization gadget chain that executes arbitrary commands on the server with the application's privileges.
Frequently Asked Questions
Is CVE-2016-4437 being actively exploited?
Yes. CVE-2016-4437 is listed in the CISA Known Exploited Vulnerabilities catalog, confirming active exploitation. The EPSS score of 94.1% (99.9th percentile) indicates near-certain exploitation activity. The publicly known default encryption key makes exploitation trivial.
What products are affected by CVE-2016-4437?
CVE-2016-4437 affects Apache Shiro versions before 1.2.5. Additionally affected are Apache Aurora versions 0.10.0 through 0.18.0, Red Hat Fuse 1.0, and Red Hat JBoss Middleware text-only advisories 1.0.
How do I fix CVE-2016-4437?
Upgrade Apache Shiro to version 1.2.5 or later and explicitly configure a unique, randomly generated AES encryption key for the "remember me" feature. Never use the default key. Audit all applications for Shiro dependencies and apply appropriate patches.
How severe is CVE-2016-4437?
CVE-2016-4437 has a CVSS 3.1 score of 9.8 (CRITICAL) and an EPSS score of 94.1% (99.9th percentile). The vulnerability enables unauthenticated remote code execution through the "remember me" feature using a publicly known default encryption key, making it one of the most critical Apache Shiro vulnerabilities.
Need Help With Vulnerability Management?
Our security experts can help you prioritize and remediate vulnerabilities effectively.