CVE-2016-4437

CRITICAL(9.8)KEVLikely Exploited

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

Vendor
Apache
Product
Shiro
Date Added
November 3, 2021
Due Date
May 3, 2022
Required Action
Apply updates per vendor instructions.

CVSS Score

Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HOpen in Calculator
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality Impact
HIGH
Integrity Impact
HIGH
Availability Impact
HIGH
Exploitability Score
3.9
Impact Score
5.9

CWEs

Affected Products

VendorProductVersion
apacheaurora>= 0.10.0, < 0.18.1
apacheshiro< 1.2.5
redhatfuse1.0
redhatjboss middleware text-only advisories1.0

Multiple CVSS Assessments

Source: [email protected](Primary)
9.8
CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Source: 134c704f-9b21-4f2e-91b3-4a467353bcc0(Secondary)
9.8
CRITICAL

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

References

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

  1. 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.
  2. 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.
  3. 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.
  4. Monitor application logs for suspicious "remember me" cookie values, particularly unusually large cookies or cookies that trigger deserialization errors, which may indicate exploitation attempts.
  5. 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.

CVSS Score

9.8
CRITICAL(9.8)

EPSS Score

EPSS Score93.04%
EPSS Percentile99.8%

Dates

PublishedJune 7, 2016
Last ModifiedJune 17, 2026
StatusAnalyzed
CVSS Versionv3.1

Need Help With Vulnerability Management?

Our security experts can help you prioritize and remediate vulnerabilities effectively.