Apache Struts up to 2.3.28.1 REST Plugin Expression input validation

| CVSS Meta Temp Score | Current Exploit Price (≈) | CTI Interest Score |
|---|---|---|
| 9.4 | $0-$5k | 0.00 |
Summary
A vulnerability, which was classified as critical, has been found in Apache Struts up to 2.3.28.1. This affects an unknown part of the component REST Plugin. The manipulation as part of Expression leads to input validation. This vulnerability is uniquely identified as CVE-2016-4438. The attack is possible to be carried out remotely. No exploit exists. It is advisable to upgrade the affected component.
Details
A vulnerability, which was classified as very critical, has been found in Apache Struts up to 2.3.28.1 (Programming Tool Software). This issue affects an unknown functionality of the component REST Plugin. The manipulation as part of a Expression leads to a input validation vulnerability. Using CWE to declare the problem leads to 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. Impacted is confidentiality, integrity, and availability. The summary by CVE is:
The REST plugin in Apache Struts 2 2.3.20 through 2.3.28.1 allows remote attackers to execute arbitrary code via a crafted expression.
The weakness was disclosed 07/04/2016 (Website). It is possible to read the advisory at struts.apache.org. The identification of this vulnerability is CVE-2016-4438 since 05/02/2016. The exploitation is known to be easy. The attack may be initiated remotely. No form of authentication is needed for a successful exploitation. The technical details are unknown and an exploit is not publicly available. The pricing for an exploit might be around USD $0-$5k at the moment (estimation calculated on 02/16/2019).
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 91812 (Apache Struts 2.x < 2.3.29 Multiple Vulnerabilities (S2-035 - S2-041)), 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 c. The commercial vulnerability scanner Qualys is able to test this issue with plugin 150166 (Apache Struts Remote Code Execution Vulnerability (S2-037)).
Upgrading eliminates this vulnerability. A possible mitigation has been published even before and not after the disclosure of the vulnerability.
The vulnerability is also documented in the databases at Tenable (91812) and SecurityFocus (BID 91275†). The entries VDB-81371, VDB-88604, VDB-88605 and VDB-88606 are pretty similar. Be aware that VulDB is the high quality source for vulnerability data.
Product
Type
Vendor
Name
Version
License
Website
- Vendor: https://www.apache.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔍VulDB Reliability: 🔍
CVSSv3
VulDB Meta Base Score: 9.8VulDB Meta Temp Score: 9.6
VulDB Base Score: 9.8
VulDB Temp Score: 9.4
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: 🔍
Status: Highly functional
EPSS Score: 🔍
EPSS Percentile: 🔍
Price Prediction: 🔍
Current Price Estimation: 🔍
| 0-Day | Unlock | Unlock | Unlock | Unlock |
|---|---|---|---|---|
| Today | Unlock | Unlock | Unlock | Unlock |
Nessus ID: 91812
Nessus Name: Apache Struts 2.x < 2.3.29 Multiple Vulnerabilities (S2-035 - S2-041)
Nessus File: 🔍
Nessus Risk: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
OpenVAS ID: 53245
OpenVAS Name: Apache Struts Multiple Vulnerabilities Nov16 (Windows)
OpenVAS File: 🔍
OpenVAS Family: 🔍
Qualys ID: 🔍
Qualys Name: 🔍
D2Sec: Apache Struts REST Plugin OGNL Expression Handling RCE
Threat Intelligence
Interest: 🔍Active Actors: 🔍
Active APT Groups: 🔍
Countermeasures
Recommended: UpgradeStatus: 🔍
0-Day Time: 🔍
Timeline
05/02/2016 🔍06/14/2016 🔍
06/17/2016 🔍
06/24/2016 🔍
07/04/2016 🔍
07/04/2016 🔍
07/05/2016 🔍
02/16/2019 🔍
Sources
Vendor: apache.orgAdvisory: struts.apache.org
Status: Not defined
Confirmation: 🔍
CVE: CVE-2016-4438 (🔍)
GCVE (CVE): GCVE-0-2016-4438
GCVE (VulDB): GCVE-100-88607
SecurityFocus: 91275 - Apache Struts CVE-2016-4438 Remote Code Execution Vulnerability
See also: 🔍
Entry
Created: 07/05/2016 09:47Updated: 02/16/2019 15:21
Changes: 07/05/2016 09:47 (66), 02/16/2019 15:21 (14)
Complete: 🔍
Cache ID: 216:680:103
Be aware that VulDB is the high quality source for vulnerability data.
No comments yet. Languages: en.
Please log in to comment.