CVE-2024-21003
Low · 3.1CVSS
3.1
EPSS
0.9%
Published
Apr 16, 2024
CISA due date
—
Cloudanix analysis
A flaw in certain Java installations could let a remote attacker change some data if a user opens specially crafted content from the internet, though it is hard to pull off and only affects specific client setups.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Data Tampering
- Component
- Library
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The flaw permits an unauthenticated remote attacker to cause unauthorized modification of application data through improper validation of untrusted input delivered over network protocols to JavaFX components in sandboxed client environments.
Why it matters to the business
Organizations running affected Java client deployments face a low but non-zero risk of data tampering in applications that process untrusted code, potentially requiring additional integrity checks or user retraining, though server-side trusted deployments remain unaffected.
How an attack unfolds
An attacker crafts malicious content that exploits the input validation weakness in JavaFX; the victim must interact with the content (for example by loading a web page or opening a document) in a vulnerable Java client environment, resulting in limited unauthorized data changes.
How to fix it
Upgrade Oracle Java SE beyond 8u401 and GraalVM Enterprise Edition beyond 20.3.13 or 21.3.9 to versions containing the fix; restrict Java client usage to trusted code only where possible and apply vendor patches promptly.
How to confirm the fix worked
Confirm Java runtime versions are updated past the listed affected releases, review application manifests and deployment configurations to ensure untrusted code is not executed in sandboxed contexts, and retest JavaFX components with known-bad input patterns.
Typical attack path
- Identify or host a delivery mechanism for untrusted Java content over supported protocols
- Craft input that bypasses validation in the JavaFX component
- Convince a user to load and interact with the content in a sandboxed Java Web Start or applet context
- Trigger the integrity modification on accessible data
How to detect it
Review Java process logs and web proxy records for unexpected network fetches of Java content followed by data modification events; examine client application behavior for anomalous updates to data stores after user interaction with external resources.
What your security team should do
- Prioritize patching Java SE and GraalVM deployments that execute untrusted client code
- Audit environments to identify any remaining sandboxed Java applet or Web Start usage
- Implement application allow-listing to prevent execution of untrusted Java content
- Monitor vendor release notes for subsequent security updates
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 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 |
|---|---|---|---|
| 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