Improper Input Validation Affecting org.apache.struts.xwork:xwork-core package, versions [2.0.0,2.3.24.1)


Severity

Recommended
0.0
high
0
10

CVSS assessment made by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
6.69% (94th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Improper Input Validation vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-JAVA-ORGAPACHESTRUTSXWORK-5811864
  • published1 Aug 2023
  • disclosed14 May 2022
  • creditHuawei PSIRT

Introduced: 14 May 2022

CVE-2016-3090  (opens in a new tab)
CWE-20  (opens in a new tab)

How to fix?

Upgrade org.apache.struts.xwork:xwork-core to version 2.3.24.1 or higher.

Overview

org.apache.struts.xwork:xwork-core is a generic command pattern framework. It forms the core of Struts 2.

Affected versions of this package are vulnerable to Improper Input Validation such that the TextParseUtil.translateVariables method allows remote attackers to execute arbitrary code via a crafted OGNL expression with ANTLR tooling.

Note:

The Struts 2 framework does not pass any user-modifiable input to this method, neither directly nor indirectly. However, a developer crafting a Struts based web application might pass unsanitized user input to TextParseUtil.translateVariables or ActionSupport's getText methods. In that case a RCE exploitation might be possible.

Workaround

Users who are unable to upgrade to the fixed version should not pass unsanitized user input to framework methods that include OGNL expression evaluation.

References

CVSS Scores

version 3.1