CVE-2024-20952

7.4 HIGH

📋 TL;DR

This Java security vulnerability allows attackers to bypass sandbox protections in client-side Java deployments. It affects Java SE, GraalVM for JDK, and GraalVM Enterprise Edition when running untrusted code from the internet. Server deployments running only trusted code are not affected.

💻 Affected Systems

Products:
  • Oracle Java SE
  • Oracle GraalVM for JDK
  • Oracle GraalVM Enterprise Edition
Versions: Java SE: 8u391, 8u391-perf, 11.0.21, 17.0.9, 21.0.1; GraalVM for JDK: 17.0.9, 21.0.1; GraalVM Enterprise: 20.3.12, 21.3.8, 22.3.4
Operating Systems: All platforms running affected Java versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments running untrusted code (e.g., Java Web Start, applets). Server deployments running only trusted code are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of Java application with unauthorized access to all data, ability to create/delete/modify critical data, and potential system takeover.

🟠

Likely Case

Data exfiltration or manipulation in client-side Java applications running untrusted web content.

🟢

If Mitigated

Minimal impact if only running trusted server-side code or if Java web content is disabled.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: HIGH

Requires network access via multiple protocols and is difficult to exploit according to Oracle.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Java SE: 8u401, 11.0.22, 17.0.10, 21.0.2; GraalVM: Check Oracle advisory for specific patched versions

Vendor Advisory: https://www.oracle.com/security-alerts/cpujan2024.html

Restart Required: Yes

Instructions:

1. Download latest Java version from Oracle. 2. Uninstall old version. 3. Install patched version. 4. Restart affected applications/services.

🔧 Temporary Workarounds

Disable Java Web Start and Applets

all

Prevent execution of untrusted Java web content

For browsers: Disable Java plugin
System-wide: Remove Java browser integration

Network Segmentation

all

Restrict network access to Java applications

firewall rules to limit Java application network exposure

🧯 If You Can't Patch

  • Disable Java in browsers and remove Java web plugin functionality
  • Implement strict network controls to limit Java application network access

🔍 How to Verify

Check if Vulnerable:

Check Java version with 'java -version' and compare against affected versions list

Check Version:

java -version

Verify Fix Applied:

Verify installed Java version is patched: 'java -version' should show version higher than affected ones

📡 Detection & Monitoring

Log Indicators:

  • Unexpected Java process spawning
  • Java sandbox violation logs
  • Unusual network connections from Java processes

Network Indicators:

  • Unusual outbound connections from Java applications
  • Multiple protocol attempts to Java services

SIEM Query:

source="java.log" AND (event="SecurityException" OR event="sandbox violation")

🔗 References

📤 Share & Export