CVE-2024-27137

5.3 MEDIUM

📋 TL;DR

This vulnerability allows a local attacker to perform a man-in-the-middle attack on Apache Cassandra's RMI registry, capturing JMX interface credentials. Attackers can then use these credentials to perform unauthorized operations via JMX. Affects Apache Cassandra 4.0.2 through 5.0.2 running Java 11.

💻 Affected Systems

Products:
  • Apache Cassandra
Versions: 4.0.2 through 5.0.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems running Java 11; vulnerability is a regression of CVE-2020-13946 due to Java option changes in JDK10+

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attacker gains full JMX access, potentially compromising the entire Cassandra cluster, exfiltrating data, or disrupting operations.

🟠

Likely Case

Attacker captures JMX credentials and performs unauthorized monitoring or limited administrative actions.

🟢

If Mitigated

With proper network segmentation and authentication controls, impact is limited to credential exposure without successful exploitation.

🌐 Internet-Facing: LOW
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires local access to the host; attacker must manipulate RMI registry to intercept credentials

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.0.15, 4.1.8, or 5.0.3

Vendor Advisory: https://lists.apache.org/thread/jsk87d9yv8r204mgqpz1qxtp5wcrpysm

Restart Required: Yes

Instructions:

1. Backup Cassandra data and configuration. 2. Stop Cassandra service. 3. Upgrade to patched version (4.0.15+, 4.1.8+, or 5.0.3+). 4. Restart Cassandra service. 5. Verify JMX functionality.

🔧 Temporary Workarounds

Disable JMX Remote Access

linux

Disable remote JMX access to prevent credential interception

Edit cassandra-env.sh: unset JVM_OPTS for JMX or set -Dcom.sun.management.jmxremote=false

Use JMX Authentication with SSL

linux

Enable JMX authentication with SSL to protect credentials in transit

Configure cassandra-env.sh with: -Dcom.sun.management.jmxremote.ssl=true -Dcom.sun.management.jmxremote.authenticate=true

🧯 If You Can't Patch

  • Restrict local access to Cassandra hosts using strict user permissions and isolation
  • Implement network segmentation to limit JMX traffic to trusted management networks only

🔍 How to Verify

Check if Vulnerable:

Check Cassandra version: nodetool version; verify Java version: java -version; if Cassandra 4.0.2-5.0.2 and Java 11, system is vulnerable

Check Version:

nodetool version

Verify Fix Applied:

After upgrade, confirm version is 4.0.15+, 4.1.8+, or 5.0.3+ using nodetool version

📡 Detection & Monitoring

Log Indicators:

  • Unexpected JMX authentication attempts
  • Failed JMX logins from unusual local users

Network Indicators:

  • Unusual RMI registry traffic from localhost
  • JMX connections from unexpected IPs

SIEM Query:

source="cassandra.log" AND ("JMX" OR "RMI") AND ("failed" OR "unauthorized")

🔗 References

📤 Share & Export