EL Injection (Expression Language Injection)

By
Anandhu Krishnan
Published on
14 May 2024
Vulnerability

Description

The software constructs Expression Language (EL) statements in Java Server Pages (JSP) using input from external sources, without proper neutralization of special characters, potentially allowing EL injection. In versions of Spring 3.0.5 and earlier, EL tags could be evaluated twice, exposing the application to EL injection (CVE-2011-2730). Even in later versions, this vulnerability can persist depending on configuration.

Recommendation

Validate untrusted input and apply output encoding when data reaches the EL layer to prevent metacharacters from being interpreted. Common patterns to watch for include ${ and #{, though data may be encoded or fragmented.


Written by
Anandhu Krishnan
Anandhu Krishnan
Lead Engineer
Experience the Beagle Security platform
Unlock one full penetration test and all Advanced plan features free for 10 days