CVE Vulnerabilities

CVE-2021-31805

Improper Neutralization of Special Elements used in an Expression Language Statement ('Expression Language Injection')

Published: Apr 12, 2022 | Modified: Jul 25, 2022
CVSS 3.x
9.8
CRITICAL
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
7.5 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
Ubuntu

The fix issued for CVE-2020-17530 was incomplete. So from Apache Struts 2.0.0 to 2.5.29, still some of the tag’s attributes could perform a double evaluation if a developer applied forced OGNL evaluation by using the %{…} syntax. Using forced OGNL evaluation on untrusted user input can lead to a Remote Code Execution and security degradation.

Weakness

The product constructs all or part of an expression language (EL) statement in a framework such as a Java Server Page (JSP) using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended EL statement before it is executed.

Affected Software

Name Vendor Start Version End Version
Struts Apache 2.0.0 (including) 2.5.29 (including)

Potential Mitigations

  • If user-controlled data must be added to an expression interpreter, one or more of the following should be performed:

References