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.

Automated human-like penetration testing for your web apps & APIs
Teams using Beagle Security are set up in minutes, embrace release-based CI/CD security testing and save up to 65% with timely remediation of vulnerabilities. Sign up for a free account to see what it can do for you.

Written by
Anandhu Krishnan
Anandhu Krishnan
Lead Engineer
Find website security issues in a flash
Improve your website's security posture with proactive vulnerability detection.
Free website security assessment
Experience the power of automated penetration testing & contextual reporting.