Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn moreApplications that evaluate user-supplied Spring Expression Language (SpEL) expressions are vulnerable to an Algorithmic Denial of Service (DoS). By providing a specially crafted expression, an attacker can trigger excessive resource consumption during evaluation, leading to application degradation or unavailability.
Specifically, an application is vulnerable when the following condition is met:
Spring Framework:
Versions that are no longer supported are also affected.
Users of affected versions should upgrade to the corresponding fixed version.
| Affected version(s) | Fix version | Availability |
|---|---|---|
| 7.0.x | 7.0.8 | OSS |
| 7.0.7.1 | Commercial | |
| 6.2.x | 6.2.19 | OSS |
| 6.2.18.1 | Commercial | |
| 6.1.x | 6.1.28 | Commercial |
| 5.3.x | 5.3.49 | Commercial |
Fixed versions of the Spring Expression Language track the number of operations performed
during expression evaluation. To mitigate potential impact on legitimate applications,
the new maxOperations limit (default: 10,000) can be customized. If exceeded,
applications will throw a SpelEvaluationException (EL1085E). If necessary, developers
can adjust this limit locally via SpelParserConfiguration or globally using the
spring.expression.maxOperations JVM system property or Spring property. Care should be
taken when increasing this value, as higher limits reduce the effectiveness of the
mitigation against resource exhaustion.
This issue was identified and responsibly reported by @wo1enca1ca1.
To report a security vulnerability for a project within the Spring portfolio, see the Security Policy