CVE-2025-30749

8.1 HIGH

📋 TL;DR

This vulnerability in Oracle Java's 2D component allows an unauthenticated attacker with network access to potentially compromise Java SE, GraalVM for JDK, and GraalVM Enterprise Edition. It primarily affects client deployments running sandboxed Java Web Start applications or applets that load 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: Oracle Java SE: 8u451, 8u451-perf, 11.0.27, 17.0.15, 21.0.7, 24.0.1; Oracle GraalVM for JDK: 17.0.15, 21.0.7, 24.0.1; Oracle GraalVM Enterprise Edition: 21.3.14
Operating Systems: All platforms running affected Java versions
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects deployments loading untrusted code (e.g., Java Web Start, applets). Server deployments running trusted code only are not vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete takeover of the Java runtime environment, allowing arbitrary code execution with the privileges of the Java process.

🟠

Likely Case

Remote code execution in client environments running untrusted Java applications from the internet.

🟢

If Mitigated

No impact if only trusted code is executed or if Java sandbox is properly configured and isolated.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: LOW

🎯 Exploit Status

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

Vulnerability is difficult to exploit according to Oracle's assessment. Requires network access and specific conditions to trigger.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Apply Critical Patch Update for July 2025 or later

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

Restart Required: Yes

Instructions:

1. Download the latest Java updates from Oracle's website
2. Uninstall affected Java versions
3. Install patched versions
4. Restart affected systems

🔧 Temporary Workarounds

Disable Java in browsers

all

Prevent Java applets and Web Start applications from running in web browsers

Browser-specific: Disable Java plugin/add-on

Restrict network access

all

Limit network access to Java applications to trusted sources only

Use firewall rules to restrict Java application network access

🧯 If You Can't Patch

  • Disable Java Web Start and applet execution entirely
  • Implement network segmentation to isolate Java applications from untrusted networks

🔍 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 Java version is updated beyond affected versions and check patch installation logs

📡 Detection & Monitoring

Log Indicators:

  • Unusual Java process behavior
  • Java crash logs
  • Security manager violation attempts

Network Indicators:

  • Unexpected network connections from Java processes
  • Suspicious protocol usage to Java applications

SIEM Query:

source="java.log" AND (event="crash" OR event="security_violation")

🔗 References

📤 Share & Export