CVE-2024-20925
Low · 3.1CVSS
3.1
EPSS
0.6%
Published
Feb 17, 2024
CISA due date
—
Cloudanix analysis
A flaw in certain Java programs could let someone change a small amount of information inside the program if a user clicks or interacts with something from the internet.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Authorization Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Flaw in JavaFX component permits unauthorized modification of limited accessible data when untrusted code executes inside a sandboxed Java client environment after human interaction.
Why it matters to the business
Organizations running Java client applications that load external code risk limited tampering with data handled by those applications, potentially affecting integrity of business processes that rely on JavaFX.
How an attack unfolds
An attacker hosts or delivers malicious Java content over the network; a user interacts with it in a sandboxed Java Web Start or applet context, triggering the JavaFX flaw to perform unauthorized data changes without further attacker privileges.
How to fix it
Upgrade Oracle Java SE to a version newer than 8u391 and Oracle GraalVM Enterprise Edition to versions newer than 20.3.12 and 21.3.8; apply the latest JavaFX updates from Oracle; restrict execution of untrusted Java content where possible.
How to confirm the fix worked
Verify Java and GraalVM versions are above the affected releases; test that sandboxed JavaFX applications no longer permit the described data modifications under the same attack conditions.
Typical attack path
- Attacker prepares malicious JavaFX content and makes it reachable via network protocols
- Victim loads the content in a vulnerable Oracle Java SE 8 or GraalVM client environment
- User performs the required interaction
- JavaFX sandbox bypass allows limited unauthorized data modification
How to detect it
Review Java client logs and sandbox execution traces for unexpected data modification attempts originating from network-loaded content; correlate with user interaction events in Java Web Start or applet sessions.
What your security team should do
- Prioritize patching client Java deployments that execute untrusted code
- Review and reduce reliance on Java applets or Web Start for external content
- Monitor Oracle release notes for exact fixed builds and schedule upgrades
The record
Vulnerability in the Oracle Java SE, Oracle GraalVM Enterprise Edition product of Oracle Java SE (component: JavaFX). Supported versions that are affected are Oracle Java SE: 8u391; Oracle GraalVM Enterprise Edition: 20.3.12 and 21.3.8. Difficult to exploit vulnerability allows unauthenticated attacker with network access via multiple protocols to compromise Oracle Java SE, Oracle GraalVM Enterprise Edition. Successful attacks require human interaction from a person other than the attacker. Successful attacks of this vulnerability can result in unauthorized update, insert or delete access to some of Oracle Java SE, Oracle GraalVM Enterprise Edition accessible data. Note: This vulnerability applies to Java deployments, typically in clients running sandboxed Java Web Start applications or sandboxed Java applets, that load and run untrusted code (e.g., code that comes from the internet) and rely on the Java sandbox for security. This vulnerability does not apply to Java deployments, typically in servers, that load and run only trusted code (e.g., code installed by an administrator). CVSS 3.1 Base Score 3.1 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | org.openjfx:javafx-media | 0 | 17.0.10 |
| Maven | org.openjfx:javafx-media | 18 | 21.0.2 |
| Chainguard | openjdk-11-openj9 | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-dbg | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-default-jdk | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-default-jvm | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-default-policy | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-doc | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-jmods | 0 | 0.53.0-r0 |
| Chainguard | openjdk-11-openj9-jre | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9 | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-dbg | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-default-jdk | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-default-jvm | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-default-policy | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-doc | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-jmods | 0 | 0.53.0-r0 |
| Chainguard | openjdk-17-openj9-jre | 0 | 0.53.0-r0 |
| Chainguard | openjdk-21-openj9 | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-dbg | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-default-jdk | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-default-jvm | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-default-policy | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-doc | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-jmods | 0 | 0.48.0-r2 |
| Chainguard | openjdk-21-openj9-jre | 0 | 0.48.0-r2 |
| Chainguard | openjdk-8-openj9 | 0 | 0.53.0-r1 |
| Chainguard | openjdk-8-openj9-dbg | 0 | 0.53.0-r1 |
| Chainguard | openjdk-8-openj9-default-jdk | 0 | 0.53.0-r1 |
| Chainguard | openjdk-8-openj9-default-jvm | 0 | 0.53.0-r1 |
| Chainguard | openjdk-8-openj9-doc | 0 | 0.53.0-r1 |
| Chainguard | openjdk-8-openj9-jre | 0 | 0.53.0-r1 |
| Ubuntu:16.04:LTS | openjfx | 0 | No fix |
| Ubuntu:18.04:LTS | openjfx | 0 | No fix |
| Ubuntu:20.04:LTS | openjfx | 0 | No fix |
| Ubuntu:22.04:LTS | openjfx | 0 | No fix |
| Ubuntu:24.04:LTS | openjfx | 0 | No fix |
| Ubuntu:24.10 | openjfx | 0 | No fix |
| Ubuntu:25.04 | openjfx | 0 | No fix |
| Ubuntu:25.10 | openjfx | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | openjfx | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openjfx | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | openjfx | 0 | No fix |
| maven | org.openjfx/javafx-media | 18 | 21.0.2 |
Related vulnerabilities
- CVE-2026-21945 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2026-21932 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2026-21933 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2026-21925 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2025-30761 Vulnerability in the Oracle Java SE, Oracle GraalVM Enterprise Edition product of Oracle… Also affects openjdk-11-openj9
- CVE-2025-50106 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2025-30754 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2025-30749 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9