CVE-2020-10199
High · 8.8 CISA KEVCVSS
8.8
EPSS
99.1%
Published
Apr 1, 2020
CISA due date
May 3, 2022
Cloudanix analysis
Attackers can take over the software repository server and steal or alter the code and files that developers rely on, which can break builds and compromise everything built from those files.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Full Compromise
- Component
- Application
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Improper input validation permits unauthenticated or low-privileged attackers to supply expressions that are evaluated by the Java Expression Language engine, resulting in arbitrary code execution within the Nexus Repository process.
Why it matters to the business
Successful exploitation grants attackers full control over the repository server, enabling theft or tampering of proprietary software artifacts, supply-chain poisoning, and persistent access to internal development infrastructure; the vulnerability's presence on the CISA KEV list with an active in-the-wild exploit maturity rating means organizations face immediate operational and regulatory risk.
How an attack unfolds
An attacker locates a Nexus Repository instance and submits a specially crafted HTTP request containing a malicious Java EL expression in a parameter that is later interpreted by the server; because input is not sanitized, the expression executes, spawning a reverse shell or dropping a web shell that establishes ongoing remote code execution.
How to fix it
Upgrade every Sonatype Nexus Repository installation to version 3.21.2 or later; where immediate patching is impossible, restrict network access to administrative interfaces, enforce strong authentication, and monitor for anomalous EL evaluation behavior until the upgrade can be completed.
How to confirm the fix worked
Query the Nexus REST API or inspect the running container/image to confirm the installed version is at least 3.21.2; review change logs for the JavaEL injection fixes and retest any previously vulnerable endpoints with benign EL expressions to verify they are now rejected.
Typical attack path
- Scan for publicly reachable Sonatype Nexus Repository instances
- Identify endpoints accepting user-controlled input that reaches the EL evaluator
- Craft and submit a Java EL payload that bypasses basic filters
- Obtain a shell or execute commands to exfiltrate artifacts or install persistence
- Pivot to connected CI/CD systems or artifact consumers
How to detect it
Search Nexus access and application logs for requests containing EL expression syntax such as ${...} or #{...} in unexpected parameters; correlate with process-creation events showing unexpected Java subprocesses or outbound connections from the Nexus process; review any post-exploitation artifacts such as newly created files in the Nexus work directory.
What your security team should do
- Immediately inventory all Sonatype Nexus instances and prioritize upgrade to 3.21.2+ given KEV listing and active exploitation
- Apply network segmentation so only trusted networks can reach Nexus administrative ports
- Enable and retain detailed application logs for at least 90 days to support forensic review
- Subscribe to vendor security advisories and automate version checks in the asset inventory
The record
Sonatype Nexus Repository before 3.21.2 allows JavaEL Injection (issue 1 of 2).
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Maven | org.sonatype.nexus:nexus-extdirect | 0 | 3.21.2 |
Related vulnerabilities
- CVE-2026-95664 Improper Neutralization of Special Elements used in an Expression Language Statement… CWE-917
- CVE-2026-108334 A flaw was found in the internal WebAssembly (WASM) shim used by the Kuadrant operator. CWE-917
- CVE-2026-52439 An issue in xiandafu beetl 3.20.2 allows a remote attacker to execute arbitrary code via… CWE-917
- CVE-2026-65591 n8n contains a sanitizer bypass vulnerability in the legacy expression evaluator's… CWE-917
- CVE-2026-57281 Jenkins Script Security Plugin 1402.v94c9ce464861 and earlier does not reject Groovy AST… CWE-917
- CVE-2026-11561 Improper neutralization of special elements used in an expression language statement… CWE-917
- CVE-2026-40985 Applications that configure the WebFlowELExpressionParser are vulnerable to the use of… CWE-917
- CVE-2026-41729 Spring Data REST is vulnerable to SpEL expression injection through map-typed properties… CWE-917