CVE-2024-21002
Low · 2.5CVSS
2.5
EPSS
0.4%
Published
Apr 16, 2024
CISA due date
—
Cloudanix analysis
A hard-to-trigger flaw in certain Java graphics components could let someone who already has access to a computer make small unauthorized changes to data inside specific Java programs if a user interacts with them.
- 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
The flaw permits an unauthenticated local attacker who obtains a logon to the host to bypass Java sandbox restrictions in JavaFX, resulting in unauthorized modification (insert/update/delete) of limited accessible data when a user interacts with untrusted sandboxed Java Web Start applications or applets.
Why it matters to the business
Low-risk data tampering exposure in client-side Java applications that load untrusted code; limited operational impact given the high exploitation difficulty, requirement for local access, and user interaction, with no known active exploitation or ransomware use.
How an attack unfolds
An attacker with local logon access to a system running vulnerable Java SE 8u401 or GraalVM Enterprise Edition 20.3.13/21.3.9 crafts or supplies malicious JavaFX content inside a sandboxed applet or Web Start application; the victim must interact with the application, allowing the attacker to abuse the JavaFX component and perform unauthorized data modifications within the sandbox.
How to fix it
Apply the latest Oracle Critical Patch Update to upgrade Oracle Java SE beyond 8u401 and Oracle GraalVM Enterprise Edition beyond 20.3.13 or 21.3.9; disable Java Web Start and applet execution where possible; restrict execution of untrusted Java code on client systems.
How to confirm the fix worked
Verify runtime versions via java -version and javaws commands; confirm deployment of the April 2024 or later CPU; test that sandboxed JavaFX applications no longer permit unauthorized data changes under controlled interaction scenarios.
Typical attack path
- Obtain local logon to the target host running affected Java runtime
- Deliver or host malicious JavaFX content in a sandboxed Web Start application or applet
- Trick a user into launching and interacting with the untrusted Java content
- Trigger the JavaFX authorization bypass to perform limited data modifications
How to detect it
Review system logs for unexpected Java process launches from user-writable directories; examine browser or application logs for Java Web Start or applet invocations of untrusted code; no specific post-exploitation artifacts are reliably available due to the nature of the integrity-only impact.
What your security team should do
- Prioritize patching Java runtimes on all client endpoints within the next maintenance window
- Inventory and restrict use of Java Web Start and applets that load external code
- Monitor Oracle CPU releases for subsequent JavaFX fixes
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: 8u401; Oracle GraalVM Enterprise Edition: 20.3.13 and 21.3.9. Difficult to exploit vulnerability allows unauthenticated attacker with logon to the infrastructure where Oracle Java SE, Oracle GraalVM Enterprise Edition executes 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 2.5 (Integrity impacts). CVSS Vector: (CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| 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 | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-dbg | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-default-jdk | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-default-jvm | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-demos | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-doc | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-jre | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-jre-base | 0 | 8.412.08-r0 |
| Chainguard | openjdk-8-jre-lib | 0 | 8.412.08-r0 |
| 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 | openjdk-9 | 0 | No fix |
| Ubuntu:20.04:LTS | openjdk-13 | 0 | No fix |
| Ubuntu:20.04:LTS | openjdk-16 | 0 | No fix |
| Ubuntu:22.04:LTS | openjdk-18 | 0 | No fix |
| Ubuntu:22.04:LTS | openjdk-19 | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | openjdk-9 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | openjdk-13 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | openjdk-16 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | openjdk-18 | 0 | No fix |
| Wolfi | openjdk-8 | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-dbg | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-default-jdk | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-default-jvm | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-demos | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-doc | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-jre | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-jre-base | 0 | 8.412.08-r0 |
| Wolfi | openjdk-8-jre-lib | 0 | 8.412.08-r0 |
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-0509 Sparkle Signing Checks Bypass Also affects openjdk-11-openj9
- CVE-2025-21502 Vulnerability in the Oracle Java SE, Oracle GraalVM for JDK, Oracle GraalVM Enterprise… Also affects openjdk-11-openj9
- CVE-2024-40896 In libxml2 2.11 before 2.11.9, 2.12 before 2.12.9, and 2.13 before 2.13.3, the SAX parser… Also affects openjdk-11-openj9
- CVE-2024-54534 The issue was addressed with improved memory handling. Also affects openjdk-11-openj9