Skip to content
OpenAdvisories

Weakness (CWE)

CWE-917: Improper Neutralization of Special Elements used in an Expression Language Statement

Base Incomplete

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.

How to prevent it (3 mitigations)
  1. Architecture and Design

    Avoid adding user-controlled data into an expression interpreter when possible.

  2. Implementation

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

    - Validate that the user input will not evaluate as an expression

    - Encode the user input in a way that ensures it is not evaluated as an expression

  3. System Configuration, Operation

    The framework or tooling might allow the developer to disable or deactivate the processing of EL expressions, such as setting the isELIgnored attribute for a JSP page to "true".

Source: MITRE CWE-917

89 results · Feed

  • Critical 9.6

    Remote Code Execution in SyliusResourceBundle

    In SyliusResourceBundle before versions 1.3.14, 1.4.7, 1.5.2 and 1.6.4, request parameters injected inside an expression evaluated by `symfony/expression-language` package haven't been sanitized properly. This allows the attacker to access any public service …

  • Critical 9.8

    Expression Language Injection in Netflix Conductor

    Netflix Titus uses Java Bean Validation (JSR 380) custom constraint validators. When building custom constraint violation error messages, different types of interpolation are supported, including Java EL expressions. If an attacker can inject arbitrary data i…

  • Critical 9.8

    Expression Language Injection in Apache Syncope

    A Server-Side Template Injection was identified in Apache Syncope prior to 2.1.6 enabling attackers to inject arbitrary Java EL expressions, leading to an unauthenticated Remote Code Execution (RCE) vulnerability. Apache Syncope uses Java Bean Validation (JSR…

  • High 8.8
    CVE-2020-10199 Exploited Public exploit Scanner template EPSS 99%

    Nexus Repository Manager 3 - Remote Code Execution

    Sonatype Nexus Repository before 3.21.2 allows JavaEL Injection (issue 1 of 2).

    KEV Nov 3, 2021
  • Critical 9.8

    RichFaces vulnerable to Expression Language Injection

    JBoss RichFaces 4.5.3 through 4.5.17 allows unauthenticated remote attackers to inject an arbitrary expression language (EL) variable mapper and execute arbitrary Java code via a MediaOutputResource's resource request, aka RF-14309.

  • Critical 9.8
    CVE-2018-12533 Public exploit EPSS 19%

    Arbitrary code execution in Richfaces

    JBoss RichFaces 3.1.0 through 3.3.4 allows unauthenticated remote attackers to inject expression language (EL) expressions and execute arbitrary Java code via a /DATA/ substring in a path with an org.richfaces.renderkit.html.Paint2DResource$ImageData object, …

  • High 7.5

    Apache MyFaces Vulnerable to EL Injection

    Information disclosure vulnerability in Apache MyFaces Core 2.0.1 through 2.0.10 and 2.1.0 through 2.1.4 allows remote attackers to inject EL expressions via crafted parameters.

  • High 8.8
    CVE-2010-1871 Exploited Public exploit EPSS 83%

    JBoss Seam 2 (jboss-seam2), as used in JBoss Enterprise Application Platform 4.3.0 for Red Hat Linux, does not properly…

    KEV Dec 10, 2021
  • Medium —

    Apache Tiles Vulnerable to XSS via EL Expression Injection

    Apache Tiles 2.1 before 2.1.2, as used in Apache Struts and other products, evaluates Expression Language (EL) expressions twice in certain circumstances, which allows remote attackers to conduct cross-site scripting (XSS) attacks or obtain sensitive informat…