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
Experience the Beagle Security platform
Unlock one full penetration test and all Advanced plan features free for 10 days
Find surface-level website security issues in under a minute
Free website security assessment
Experience the power of automated penetration testing & contextual reporting.