| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 8.7 | $0-$5k | 0.00 |
Summary
A vulnerability was found in Apache Struts up to 2.3.28. It has been rated as critical. This vulnerability affects unknown code of the component REST Plugin. Performing a manipulation results in input validation. This vulnerability is reported as CVE-2016-3087. The attack is possible to be carried out remotely. Moreover, an exploit is present. Upgrading the affected component is advised.
Details
A vulnerability, which was classified as critical, was found in Apache Struts up to 2.3.28 (Programming Tool Software). This affects an unknown function of the component REST Plugin. The manipulation with an unknown input leads to a input validation vulnerability. CWE is classifying the issue as CWE-20. The product receives input or data, but it does not validate or incorrectly validates that the input has the properties that are required to process the data safely and correctly. This is going to have an impact on confidentiality, integrity, and availability.
The weakness was disclosed 06/02/2016 by Alvaro Munoz as S2-033 as confirmed security bulletin (Website). The advisory is shared at struts.apache.org. This vulnerability is uniquely identified as CVE-2016-3087 since 03/10/2016. The exploitability is told to be easy. It is possible to initiate the attack remotely. No form of authentication is needed for exploitation. Technical details are unknown but a public exploit is available.
A public exploit has been developed in Ruby. The exploit is shared for download at securityfocus.com. It is declared as highly functional. We expect the 0-day to have been worth approximately $5k-$25k. The vulnerability scanner Nessus provides a plugin with the ID 90773 (Apache Struts 2.x < 2.3.28.1 Multiple Vulnerabilities), which helps to determine the existence of the flaw in a target environment. It is assigned to the family Misc. and running in the context l. The commercial vulnerability scanner Qualys is able to test this issue with plugin 11647 (Apache Struts Dynamic Method Invocation Remote Code Execution Vulnerability (S2-033)).
Upgrading to version 2.3.20.3, 2.3.24.3 or 2.3.28.1 eliminates this vulnerability. It is possible to mitigate the problem by applying the configuration setting Disable Dynamic Method Invocation. The best possible mitigation is suggested to be upgrading to the latest version. A possible mitigation has been published before and not just after the disclosure of the vulnerability. The security bulletin contains the following remark:
No issues expected when upgrading to Struts 2.3.20.3, 2.3.24.3 and 2.3.28.1
The vulnerability is also documented in the databases at Exploit-DB (39919), Tenable (90773), SecurityFocus (BID 90960†) and SecurityTracker (ID 1036017†). The entries VDB-82789, VDB-82790, VDB-90037 and VDB-92933 are pretty similar. If you want to get the best quality for vulnerability data then you always have to consider VulDB.
Not Affected
- Apache Struts 2.3.20.3/2.3.24.3
Product
Type
Vendor
Name
Version
- 2.3.0
- 2.3.1
- 2.3.2
- 2.3.3
- 2.3.4
- 2.3.5
- 2.3.6
- 2.3.7
- 2.3.8
- 2.3.9
- 2.3.10
- 2.3.11
- 2.3.12
- 2.3.13
- 2.3.14
- 2.3.15
- 2.3.16
- 2.3.17
- 2.3.18
- 2.3.19
- 2.3.20
- 2.3.21
- 2.3.22
- 2.3.23
- 2.3.24
- 2.3.25
- 2.3.26
- 2.3.27
- 2.3.28
License
Website
- Vendor: https://www.apache.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 8.9VulDB Meta Temp Score: 8.7
VulDB Base Score: 8.1
VulDB Temp Score: 7.7
VulDB Vector: 🔍
VulDB Reliability: 🔍
NVD Base Score: 9.8
NVD Vector: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexity | Authentication | Confidentiality | Integrity | Availability |
|---|---|---|---|---|---|
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
| Unlock | Unlock | Unlock | Unlock | Unlock | Unlock |
VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Reliability: 🔍
NVD Base Score: 🔍
Exploiting
Class: Input validationCWE: CWE-20
CAPEC: 🔍
ATT&CK: 🔍
Physical: No
Local: No
Remote: Yes
Availability: 🔍
Access: Public
Status: Highly functional
Programming Language: 🔍
Download: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 90773
Nessus Name: Apache Struts 2.x < 2.3.28.1 Multiple Vulnerabilities
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 861699
OpenVAS Name: Apache Struts Multiple Arbitrary Code Execution Vulnerabilities May16
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
MetaSploit ID: struts_dmi_rest_exec.rb
MetaSploit Name: Apache Struts REST Plugin With Dynamic Method Invocation Remote Code Execution
MetaSploit File: 🔍
Exploit-DB: 🔍
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Upgrade: Struts 2.3.20.3/2.3.24.3/2.3.28.1
Config: Disable Dynamic Method Invocation
Timeline
03/10/2016 🔍04/21/2016 🔍
04/28/2016 🔍
05/31/2016 🔍
06/02/2016 🔍
06/02/2016 🔍
06/03/2016 🔍
06/07/2016 🔍
01/19/2025 🔍
Sources
Vendor: apache.orgAdvisory: S2-033
Researcher: Alvaro Munoz
Status: Confirmed
Confirmation: 🔍
CVE: CVE-2016-3087 (🔍)
GCVE (CVE): GCVE-0-2016-3087
GCVE (VulDB): GCVE-100-87717
SecurityFocus: 90960 - Apache Struts CVE-2016-3087 Remote Code Execution Vulnerability
SecurityTracker: 1036017
scip Labs: https://www.scip.ch/en/?labs.20161013
See also: 🔍
Entry
Created: 06/03/2016 11:48Updated: 01/19/2025 04:45
Changes: 06/03/2016 11:48 (78), 12/28/2018 10:54 (16), 08/22/2022 18:57 (3), 10/09/2024 05:12 (16), 01/19/2025 04:45 (2)
Complete: 🔍
Cache ID: 216:AC0:103
If you want to get the best quality for vulnerability data then you always have to consider VulDB.

No comments yet. Languages: en.
Please log in to comment.