Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach public /uploadServlet
-
DeliveryPOST crafted ZIP with traversal entry name
-
ExploitunZip skips canonical-path check
-
ExecutionJSP written to context root
-
PersistRequest JSP webshell
-
ImpactExecute commands as Tomcat user
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Command injection prevention
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the efw4.X application (version < 4.08.010) be network-reachable with its multipart /uploadServlet exposed and an event configured that chains file.saveUploadFiles into FileManager.unZip so an uploaded archive is automatically extracted - that upload-then-unzip code path IS the concrete prerequisite. No authentication or user interaction is needed (CVSS PR:N/UI:N), and default extraction has no canonical-path check, so any writable location reachable by the Tomcat process (notably the servlet context root) can receive the payload. Limiting factors: the target must actually deploy the vulnerable unZip-on-upload flow, and the Tomcat process must have write permission to a web-executable directory for the webshell step to yield code execution; instances that do not expose the upload/unzip event, or that run Tomcat with a context root the process cannot write to, materially reduce or block the RCE outcome even though arbitrary file write may still be possible. |
| Impact | The signals are largely aligned toward high but not universally-exploited risk. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H, base 9.3) describes network-reachable, low-complexity, unauthenticated exploitation with total confidentiality, integrity, and availability impact, consistent with the description's 'remote attacker with no credentials.' SSVC reinforces prioritization: Exploitation=poc, Automatable=yes, Technical Impact=total - a working proof-of-concept exists and the attack can be scripted at scale. Counterbalancing this, EPSS is low at 0.21% (43rd percentile) and the CVE is NOT on CISA KEV, indicating no confirmed widespread active exploitation yet; the low EPSS most plausibly reflects the product's niche footprint rather than any difficulty of exploitation. Net: technically this is a genuine critical (trivial unauthenticated RCE) and any exposed efw4.X instance is an urgent patch priority, but real-world blast radius is bounded by how few organizations run the framework. No conflict was found between CVSS and description; the only notable mismatch is the CWE classification (CWE-77) versus the actual Zip-Slip file-write mechanism. |
| Exploit ScenarioDerived | A remote, unauthenticated attacker crafts a ZIP archive containing an entry named like ../../../<context-root>/shell.jsp and POSTs it to the framework's public multipart /uploadServlet, triggering an event that calls file.saveUploadFiles then FileManager.unZip. Because unZip performs no canonical-path check, the JSP escapes the extraction directory into the Tomcat-served context root; the attacker then requests shell.jsp and runs arbitrary OS commands as the Tomcat user. A proof-of-concept is reported to exist (SSVC Exploitation=poc) and the attack is automatable (SSVC Automatable=yes), so it can be scripted against exposed instances. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 23, 2026
Arbitrary file write leading to unauthenticated remote code execution affects efw4.X (Enterprise Framework for Web) prior to 4.08.010, where efw.file.FileManager.unZip extracts ZIP entries via new File(baseDir, zipEntry.getName()) with no canonical-path validation - a classic Zip Slip. By combining the framework's public multipart /uploadServlet with an event that chains file.saveUploadFiles and FileManager.unZip, an attacker with no credentials can plant a JSP webshell in the Tomcat servlet context root and execute OS commands as the Tomcat user. Publicly available exploit code exists (SSVC lists proof-of-concept); the flaw is not on CISA KEV and EPSS is low (0.21%, 43rd percentile).
RemediationAI
Vendor-released patch: 4.08.010 - upgrade efw4.X to 4.08.010 or later, which adds the canonical-path check to FileManager.unZip and closes the traversal write; follow the vendor advisory at https://github.com/efwGrp/efw4.X/security/advisories/GHSA-q7jx-7x5r-r9f6. If immediate patching is not possible, restrict or authenticate access to the /uploadServlet endpoint at a reverse proxy or WAF so unauthenticated multipart uploads cannot reach the framework (trade-off: breaks any legitimate anonymous upload workflow); disable or remove any event flow that chains saveUploadFiles into FileManager.unZip so untrusted archives are never auto-extracted (cost: loses that upload/unzip feature); and tighten filesystem permissions so the Tomcat process user cannot write to the servlet context root or other web-executable directories (prevents webshell drop but may break features that legitimately write into the webapp). As a detection aid, monitor the context root for newly created .jsp files, and after patching audit for any already-planted JSP files, since a prior compromise persists across the upgrade.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is efw4.X, a Java Enterprise Framework for Web (vendor efwGrp) deployed as a Tomcat servlet application, per CPE cpe:2.3:a:efwgrp:efw4.x. The root cause is unsafe archive extraction: FileManager.unZip resolves each ZIP entry name relative to a base directory using new File(baseDir, zipEntry.getName()) and never compares the resolved canonical path against the intended extraction root. A malicious entry name containing traversal sequences (e.g. ../../../pwned.jsp) escapes the extraction directory and is written anywhere the Tomcat process can write, including the web-accessible context root. Although NVD tags this CWE-77 (Command Injection) - reflecting the ultimate code-execution impact and the 'Command Injection' tag - the underlying defect is more precisely a path-traversal / Zip-Slip arbitrary file write (CWE-22/CWE-29) leveraged for execution by writing an executable JSP. The 'Tomcat' and 'Canonical' tags confirm the servlet-container context and the missing canonical-path check as the crux of the bug.
Know when Tomcat gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Unauthenticated network upload with no user interaction (AV:N/AC:L/PR:N/UI:N); webshell yields full command execution as the Tomcat user, so C:H/I:H/A:H, scope unchanged as impact stays within the host security authority.
Primary rating from GitHub Advisory.
CVSS VectorGitHub Advisory
Lifecycle Timeline
2DescriptionGitHub Advisory
efw4.X is an Enterprise Framework for Web. Prior to 4.08.010, efw.file.FileManager.unZip writes zip entries to disk using new File(baseDir, zipEntry.getName()) with no canonical-path check. An entry name such as ../../../pwned.jsp escapes the intended extraction directory and lands anywhere the Tomcat process can write - including the servlet context root. Combined with the framework's multipart /uploadServlet and an event that calls file.saveUploadFiles + FileManager.unZip, a remote attacker with no credentials drops a JSP webshell and executes arbitrary commands as the Tomcat user. This vulnerability is fixed in 4.08.010.
Executive ViewAI
efw Enterprise Framework for Web versions prior to 4.08.010 contain an unauthenticated remote code execution vulnerability via Zip Slip in file extraction; publicly available exploit code exists. Internet-facing deployments can be compromised without credentials to execute arbitrary OS commands as the Tomcat application user. Vendor patch 4.08.010 is available and should be prioritized for immediate deployment.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
When running Apache Tomcat versions 9.0.0.M1 to 9.0.0, 8.5.0 to 8.5.22, 8.0.0.RC1 to 8.0.46 and 7.0.0 to 7.0.81 with HTT
When using the Apache JServ Protocol (AJP), care must be taken when trusting incoming connections to Apache Tomcat. Rate
In SysAid On-Premise before 23.3.36, a path traversal vulnerability leads to code execution after an attacker writes a f
Remote code execution is possible with Apache Tomcat before 6.0.48, 7.x before 7.0.73, 8.x before 8.0.39, 8.5.x before 8
When running Apache Tomcat 7.0.0 to 7.0.79 on Windows with HTTP PUTs enabled (e.g. Rated high severity (CVSS 8.1), this
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
MultipartStream.java in Apache Commons FileUpload before 1.3.1, as used in Apache Tomcat, JBoss Web, and other products,
The payload length in a WebSocket frame was not correctly validated in Apache Tomcat 10.0.0-M1 to 10.0.0-M6, 9.0.0.M1 to
When the default servlet in Apache Tomcat versions 9.0.0.M1 to 9.0.11, 8.5.0 to 8.5.33 and 7.0.23 to 7.0.90 returned a r
The documentation of Apache Tomcat 10.1.0-M1 to 10.1.0-M14, 10.0.0-M1 to 10.0.20, 9.0.13 to 9.0.62 and 8.5.38 to 8.5.78
When using a VirtualDirContext with Apache Tomcat 7.0.0 to 7.0.80 it was possible to bypass security constraints and/or
When using Apache Tomcat versions 10.0.0-M1 to 10.0.0-M4, 9.0.0.M1 to 9.0.34, 8.5.0 to 8.5.54 and 7.0.0 to 7.0.103 if a)
EUVD-2026-29842
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB