Risk | High |
Patch available | YES |
Number of vulnerabilities | 2 |
CVE-ID | CVE-2019-0230 CVE-2019-0233 |
CWE-ID | CWE-94 CWE-284 |
Exploitation vector | Network |
Public exploit | Public exploit code for vulnerability #1 is available. |
Vulnerable software Subscribe |
Apache Struts Server applications / Frameworks for developing and running applications |
Vendor | Apache Foundation |
Security Bulletin
This security bulletin contains information about 2 vulnerabilities.
EUVDB-ID: #VU45703
Risk: High
CVSSv3.1: 9.1 [CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H/E:F/RL:O/RC:C]
CVE-ID: CVE-2019-0230
CWE-ID:
CWE-94 - Improper Control of Generation of Code ('Code Injection')
Exploit availability: Yes
DescriptionThe vulnerability allows a remote attacker to execute arbitrary code on the target system.
The Apache Struts frameworks, when forced, performs double evaluation
of attributes' values assigned to certain tags attributes such as id
so it is possible to pass in a value that will be evaluated again when a
tag's attributes will be rendered. With a carefully crafted request,
this can lead to Remote Code Execution (RCE).
The problem only applies when forcing OGNL evaluation inside a Struts tag attribute, when the expression to evaluate references raw, unvalidated input that an attacker is able to directly modify by crafting a corresponding request.
Example:
<s:url var="url" namespace="/employee" action="list"/><s:a id="%{skillName}" href="%{url}">List available Employees</s:a>
If an attacker is able to modify the skillName
attribute in a request such that a raw OGNL expression gets passed to the skillName
property without further validation, the provided OGNL expression contained in the skillName
attribute gets evaluated when the tag is rendered as a result of the request.
Successful exploitation of this vulnerability may result in complete compromise of vulnerable system.
MitigationInstall updates from vendor's website.
Vulnerable software versionsApache Struts: 2.0.0 - 2.5.20
External linkshttp://cwiki.apache.org/confluence/display/WW/S2-059
Q & A
Can this vulnerability be exploited remotely?
Yes. This vulnerability can be exploited by a remote non-authenticated attacker via the Internet.
Is there known malware, which exploits this vulnerability?
No. We are not aware of malware exploiting this vulnerability. However, a fully functional exploit for this vulnerability is available.
EUVDB-ID: #VU45702
Risk: Medium
CVSSv3.1: 5.7 [CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H/E:U/RL:O/RC:C]
CVE-ID: CVE-2019-0233
CWE-ID:
CWE-284 - Improper Access Control
Exploit availability: No
DescriptionThe vulnerability allows a remote attacker to perform a denial of service (DoS) attack.
The vulnerability exists due stack-accessible values (e.g. Action properties) of type java.io.File
and java.nio.File
as well as other classes from these standard library packages are not properly protected by the framework. When a file upload is performed to
an Action that exposes the file with a getter, an attacker may
manipulate the request such that the working copy of the uploaded file
is set to read-only. As a result, subsequent actions on the file will
fail with an error. It might also be possible to set the Servlet
container's temp directory to read only, such that subsequent upload
actions will fail.
Install updates from vendor's website.
Vulnerable software versionsApache Struts: 2.0.0 - 2.5.20
External linkshttp://cwiki.apache.org/confluence/display/WW/S2-060
Q & A
Can this vulnerability be exploited remotely?
Yes. This vulnerability can be exploited by a remote authenticated user via the Internet.
Is there known malware, which exploits this vulnerability?
No. We are not aware of malware exploiting this vulnerability.