CVE-2020-14664 Overview
CVE-2020-14664 is a remote code execution vulnerability in the JavaFX component of Oracle Java SE. This vulnerability affects Java SE version 8u251 and allows an unauthenticated attacker with network access to potentially achieve complete takeover of vulnerable Java SE installations. The vulnerability specifically targets client-side Java deployments that run sandboxed Java Web Start applications or Java applets loading untrusted code from the internet.
Critical Impact
Successful exploitation enables complete system takeover with full confidentiality, integrity, and availability impacts extending beyond the vulnerable component to additional products.
Affected Products
- Oracle JDK 1.8.0 Update 251
- Oracle JRE 1.8.0 Update 251
- NetApp 7-Mode Transition Tool
- NetApp Active IQ Unified Manager (Windows and vSphere)
- NetApp Cloud Backup
- NetApp Cloud Secure Agent
- NetApp E-Series Performance Analyzer
- NetApp E-Series SANtricity OS Controller
- NetApp E-Series SANtricity Web Services
- NetApp OnCommand Insight
- NetApp OnCommand Workflow Automation
- NetApp SANtricity Unified Manager
- NetApp SnapManager (SAP and Oracle)
- NetApp SteelStore Cloud Integrated Storage
- NetApp StorageGRID
Discovery Timeline
- July 15, 2020 - CVE-2020-14664 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2020-14664
Vulnerability Analysis
This vulnerability exists within the JavaFX component of Oracle Java SE, which is used for building rich client applications. The flaw allows attackers to escape the Java sandbox security model that is designed to protect systems from malicious code. While the vulnerability requires user interaction (such as visiting a malicious website or opening a crafted file) and is considered difficult to exploit due to its high attack complexity, successful exploitation can have devastating consequences.
The vulnerability specifically impacts client-side Java deployments where untrusted code is executed within the Java sandbox. Server-side Java deployments that only run trusted, administrator-installed code are not affected by this vulnerability. The scope-changing nature of this vulnerability means that a successful attack against Java SE can significantly impact additional products beyond the Java runtime itself.
Root Cause
The vulnerability stems from insufficient security controls within the JavaFX component when processing untrusted content. The JavaFX framework fails to properly validate or sanitize certain inputs, allowing malicious actors to craft content that bypasses the Java sandbox restrictions. This sandbox escape vulnerability undermines the fundamental security architecture that Java relies upon to safely execute untrusted code from network sources.
Attack Vector
The attack requires network access and can be executed through multiple protocols. An attacker typically needs to entice a victim to either visit a malicious website hosting a weaponized Java applet or open a specially crafted Java Web Start application. Once the malicious code is loaded and executed within the vulnerable Java runtime, it can exploit the JavaFX component flaw to escape the sandbox and execute arbitrary code with the privileges of the user running the Java application.
The attack scenario involves:
- Attacker hosts malicious Java applet or Web Start application on a network-accessible server
- Victim is enticed to access the malicious content through social engineering
- The vulnerable JavaFX component processes the malicious content
- Sandbox escape occurs, granting the attacker control over the Java SE environment
- Attacker gains ability to impact additional products on the compromised system
Detection Methods for CVE-2020-14664
Indicators of Compromise
- Unexpected Java processes spawning child processes or executing system commands
- Network connections initiated by Java applications to unknown or suspicious external hosts
- Java Web Start or applet activity from untrusted sources appearing in browser or system logs
- Unusual file system modifications in user directories initiated by javaw.exe or java processes
Detection Strategies
- Monitor for Java runtime executions involving network-sourced applets or Web Start applications
- Implement application whitelisting to restrict execution of Java content to trusted sources only
- Deploy endpoint detection solutions capable of identifying sandbox escape behaviors
- Review Java deployment rule sets and ensure unsigned or untrusted content is blocked
Monitoring Recommendations
- Enable verbose logging for Java Web Start and Java Plugin components
- Monitor browser plugin activity and block Java applet execution from untrusted zones
- Correlate Java process executions with network activity to identify suspicious patterns
- Audit systems running Java SE 8u251 to ensure they have been updated or mitigated
How to Mitigate CVE-2020-14664
Immediate Actions Required
- Update Oracle Java SE 8 to a version newer than 8u251 immediately
- Disable Java Web Start and Java applets in web browsers if not required
- Implement network segmentation to limit exposure of systems running vulnerable Java versions
- Review and restrict Java Deployment Rule Sets to prevent execution of untrusted content
Patch Information
Oracle has addressed this vulnerability in the July 2020 Critical Patch Update. Administrators should apply the latest Java SE 8 update available from Oracle's official download site. The Oracle CPU July 2020 Alert contains full details on the security update.
For systems using NetApp products that bundle Java, consult the NetApp Security Advisory NTAP-20200717-0005 for vendor-specific patching guidance. Gentoo Linux users should refer to Gentoo GLSA 202209-15 for distribution-specific updates.
Additional technical details regarding this vulnerability are available in the ZDI Advisory ZDI-20-897.
Workarounds
- Disable Java Plugin and Java Web Start functionality in all web browsers across the environment
- Configure deployment rule sets to block all Java content from internet-facing sources
- Remove Java SE 8u251 from client systems where it is not strictly required for business operations
- Implement browser policies to prevent Java applet execution on endpoint systems
# Disable Java Web Start and Applets via deployment.properties
echo "deployment.webjava.enabled=false" >> /etc/.java/deployment/deployment.properties
echo "deployment.javaws.enabled=false" >> /etc/.java/deployment/deployment.properties
echo "deployment.security.level=VERY_HIGH" >> /etc/.java/deployment/deployment.properties
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


