CVE-2022-21624 Overview
CVE-2022-21624 is a vulnerability in the Oracle Java SE and Oracle GraalVM Enterprise Edition products, specifically affecting the JNDI (Java Naming and Directory Interface) component. This vulnerability allows an unauthenticated attacker with network access via multiple protocols to potentially compromise affected systems, resulting in unauthorized update, insert, or delete access to accessible data.
The vulnerability is particularly relevant to Java deployments that run sandboxed Java Web Start applications or sandboxed Java applets that load and execute untrusted code from the internet, relying on the Java sandbox for security isolation. Additionally, the vulnerability can be exploited through APIs in the JNDI component, such as via web services that supply data to these APIs.
Critical Impact
Successful exploitation allows unauthorized modification of data in Oracle Java SE and GraalVM Enterprise Edition environments, potentially compromising data integrity in enterprise applications and web services.
Affected Products
- Oracle Java SE: 8u341, 8u345-perf, 11.0.16.1, 17.0.4.1, 19
- Oracle GraalVM Enterprise Edition: 20.3.7, 21.3.3, 22.2.0
- Fedora Project Fedora 35 and 36
- NetApp products: 7-Mode Transition Tool, Cloud Insights Acquisition Unit, Cloud Secure Agent, E-Series SANtricity products, OnCommand Insight, OnCommand Workflow Automation
- Azul Zulu: 6.49, 7.56, 8.64, 11.58, 13.50, 15.42, 17.36, 19.28
Discovery Timeline
- October 18, 2022 - CVE-2022-21624 published to NVD
- November 21, 2024 - Last updated in NVD database
Technical Details for CVE-2022-21624
Vulnerability Analysis
This vulnerability resides in the JNDI component of Oracle Java SE and Oracle GraalVM Enterprise Edition. JNDI provides a unified interface to multiple naming and directory services, making it a critical component for enterprise Java applications that need to look up and manage resources, objects, and directory information.
The vulnerability specifically impacts the integrity of accessible data, allowing attackers to perform unauthorized modifications without requiring authentication. While the attack complexity is high (requiring specific conditions to be met), the network-based attack vector means that remote exploitation is possible across multiple protocols.
The vulnerability is most dangerous in environments where Java applications execute untrusted code within the sandbox security model, as the sandbox boundary may be circumvented to perform unauthorized data operations.
Root Cause
The root cause relates to insufficient validation or access control within the JNDI component when processing certain requests. While Oracle has not disclosed specific technical details, the vulnerability allows integrity violations where attackers can update, insert, or delete data that should be protected. The JNDI component's handling of naming and directory service interactions contains a flaw that can be exploited when processing malicious input.
Attack Vector
The attack requires network access and can be conducted through multiple protocols. There are two primary attack scenarios:
Client-Side Attack: An attacker tricks a user into running a malicious Java Web Start application or Java applet that contains code designed to exploit the JNDI vulnerability, bypassing sandbox restrictions to modify protected data.
Server-Side Attack via API: An attacker supplies malicious data to web services or APIs that use the affected JNDI component, triggering the vulnerability when the data is processed.
The exploitation is difficult, requiring specific conditions such as the victim using a vulnerable Java version and executing untrusted code, or having an exposed API that passes attacker-controlled data to the JNDI component.
Detection Methods for CVE-2022-21624
Indicators of Compromise
- Unexpected JNDI lookup patterns or directory service queries originating from Java processes
- Unusual data modification events in applications using Java-based directory services
- Java processes making unexpected network connections to naming or directory services
- Log entries indicating unauthorized access attempts through JNDI APIs
Detection Strategies
- Monitor Java application logs for unusual JNDI operations or error messages related to naming services
- Implement network monitoring for unexpected directory service traffic from Java applications
- Deploy application-level monitoring to detect unauthorized data modification attempts
- Review web service logs for suspicious input patterns targeting JNDI-consuming endpoints
Monitoring Recommendations
- Enable verbose logging for Java applications using JNDI components in sensitive environments
- Configure alerting for any Java security exceptions related to sandbox violations
- Monitor for execution of Java Web Start applications or applets from untrusted sources
- Track changes to data stores accessed through JNDI to identify unauthorized modifications
How to Mitigate CVE-2022-21624
Immediate Actions Required
- Update Oracle Java SE to versions newer than 8u341, 11.0.16.1, 17.0.4.1, or 19
- Update Oracle GraalVM Enterprise Edition to versions newer than 20.3.7, 21.3.3, or 22.2.0
- Update Azul Zulu installations to patched versions
- Review and restrict execution of untrusted Java applets and Java Web Start applications
- Audit web services that pass external data to JNDI APIs
Patch Information
Oracle has released patches addressing this vulnerability in the October 2022 Critical Patch Update. System administrators should apply the appropriate patches for their Java installations immediately. Third-party vendors including NetApp have released advisories (NetApp Advisory), and Fedora has published package updates through their announcement lists. Gentoo Linux users should refer to GLSA 202401-25 for guidance.
Workarounds
- Disable execution of Java Web Start applications and Java applets from untrusted sources
- Implement network segmentation to limit Java application access to directory services
- Apply input validation on web services that use JNDI APIs to filter potentially malicious data
- Consider disabling or restricting JNDI functionality where not operationally required
# Configuration example - Restricting JNDI lookups in Java applications
# Add these JVM arguments to restrict remote JNDI lookups
java -Dcom.sun.jndi.ldap.object.trustURLCodebase=false \
-Dcom.sun.jndi.rmi.object.trustURLCodebase=false \
-Dcom.sun.jndi.cosnaming.object.trustURLCodebase=false \
-jar your_application.jar
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


