6.7.0
17 years ago
1 months ago
Known vulnerabilities in the org.apache.struts:struts2-core package. This does not include vulnerabilities belonging to this package’s dependencies.
Automatically find and fix vulnerabilities affecting your projects. Snyk scans for vulnerabilities and provides fixes for free.
Fix for freeVulnerability | Vulnerable Version |
---|---|
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Remote Code Execution (RCE) via manipulation of file upload parameters that enable path traversal. When using Notes: This is only exploitable if the application uses Version 6.4.0 deprecates How to fix Remote Code Execution (RCE)? Upgrade | [,7.0.0) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Remote Code Execution (RCE) via manipulation of file upload parameters that enable path traversal. Under certain conditions, uploading of a malicious file is possible, which may then be executed on the server. How to fix Remote Code Execution (RCE)? Upgrade | [,2.5.33)[6.0.0,6.3.0.2) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Denial of Service when certain fields exceed the How to fix Denial of Service? Upgrade | [,2.5.32)[6.0.0,6.1.2.2)[6.2.0,6.3.0.1) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Allocation of Resources Without Limits or Throttling due to improper handling of How to fix Allocation of Resources Without Limits or Throttling? Upgrade | [2.0.0,2.5.31)[6.1.2,6.1.2.1) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Remote Code Execution (RCE). The fix issued for CVE-2020-17530 was incomplete. Some of the tag’s attributes could perform a double evaluation if a developer applied forced OGNL evaluation by using the How to fix Remote Code Execution (RCE)? Upgrade | [2.0.0,2.5.30) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Remote Code Execution (RCE). The vulnerability exists due to improper input validation when processing certain tag's attributes. The application performs double evaluation of the code if a developer applied forced OGNL evaluation by using the Successful exploitation of this vulnerability may result in complete compromise of vulnerable system. How to fix Remote Code Execution (RCE)? Upgrade | [2.0.0,2.5.26) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Unrestricted Upload of File with Dangerous Type. A local code execution issue exists in Apache Struts2 when processing malformed XSLT files, which could let a malicious user upload and execute arbitrary files. How to fix Unrestricted Upload of File with Dangerous Type? Upgrade | [,2.5) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Denial of Service (DoS). When a file upload is performed to an How to fix Denial of Service (DoS)? Upgrade | [2.0.0,2.5.22) |
org.apache.struts:struts2-core is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Remote Code Execution (RCE). Forced double OGNL evaluation, when evaluated on raw user input in tag attributes, may lead to remote code execution. How to fix Remote Code Execution (RCE)? Upgrade | [2.0.0,2.5.22) |
Apache Struts2 is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to Denial of Service (DoS). The REST Plugin is using an outdated JSON-lib library which is vulnerable and allow perform a DoS attack using malicious request with specially crafted JSON payload. How to fix Denial of Service (DoS)? Upgrade | [2.5-BETA1,2.5.14.1) |
Apache Struts2 is a popular open-source framework for developing web applications in the Java programming language. Affected versions of this package are vulnerable to arbitrary code execution. Using expression literals or forcing expressions in Freemarker tags (see example snippet below), and using request values can lead to remote code execution.
In both cases a writable property is used in the value attribute and in both cases this is treated as an expression by Freemarker. Please be aware that using Struts expression evaluation style is safe:
How to fix Arbitrary Code Execution? Developers are strongly advised to upgrade their Apache Struts components to version | [,2.3.34)[2.4,2.5.12) |
Apache Struts2 is a popular open-source framework for developing web applications in the Java programming language. The REST Plugin in affected versions use a A working exploit is publicly available and is actively exploited in the wild. You can read more about this vulnerability on our blog. DetailsSerialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating object from sequence of bytes is called deserialization. Serialization is commonly used for communication (sharing objects between multiple hosts) and persistence (store the object state in a file or a database). It is an integral part of popular protocols like Remote Method Invocation (RMI), Java Management Extension (JMX), Java Messaging System (JMS), Action Message Format (AMF), Java Server Faces (JSF) ViewState, etc. Deserialization of untrusted data (CWE-502), is when the application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, letting the attacker control the state or the flow of the execution. Java deserialization issues have been known for years. However, interest in the issue intensified greatly in 2015, when classes that could be abused to achieve remote code execution were found in a popular library (Apache Commons Collection). These classes were used in zero-days affecting IBM WebSphere, Oracle WebLogic and many other products. An attacker just needs to identify a piece of software that has both a vulnerable class on its path, and performs deserialization on untrusted data. Then all they need to do is send the payload into the deserializer, getting the command executed.
How to fix Arbitrary Command Execution? Developers are strongly advised to upgrade their Apache Struts components to version It is possible that some REST actions stop working because of applied default restrictions on available classes. In this case please investigate the new interfaces that were introduced to allow class restrictions per action, those interfaces are:
If for some reason upgrading is not an option, consider the following workarounds:
| [,2.3.34)[2.4,2.5.13) |