Summary
CVE-2026-59283 is a safety-guard bypass vulnerability in the Spring Expression Language (SpEL) implementation of Spring Framework. It affects applications that evaluate SpEL expressions using SimpleEvaluationContext while the SpEL expression compiler is active, allowing the compiler to silently compile expressions and bypass the safety restrictions that SimpleEvaluationContext is meant to enforce during interpreted evaluation. The vulnerability has a CVSS v3.1 base score of 9.1 (Critical) with a network attack vector.
Technical details
- Root cause: when the SpEL expression compiler is active, expressions evaluated through
SimpleEvaluationContextcan be silently compiled into generated bytecode; the compiled form does not re-apply the restricted-evaluation safety guards enforced during normal interpreted evaluation. - Trigger conditions: the application must (1) evaluate SpEL expressions via
SimpleEvaluationContext, and (2) have the SpEL compiler enabled, either via thespring.expression.compiler.modeproperty/system property set toIMMEDIATEorMIXED, or via aSpelParserConfigurationcreated withSpelCompilerMode.IMMEDIATEorMIXED. - Attack vector: network — any input path that reaches SpEL evaluation restricted by
SimpleEvaluationContext(e.g., user-supplied expressions in application logic) can be leveraged once compilation is enabled. - Impact: bypass of SpEL’s restricted evaluation safety guards, and unbounded class-loading growth, since each distinct compilable expression generates and loads a new class into a child
ClassLoader, which can also lead to resource exhaustion.
Affected software
- Spring Framework 7.0.0 – 7.0.8
- Spring Framework 6.2.0 – 6.2.19
- Spring Framework 6.1.0 – 6.1.28
- Spring Framework 6.0.0 – 6.0.30
- Spring Framework 5.3.0 – 5.3.49
- Spring Framework 5.2.25.RELEASE and earlier
Severity
CVSS v3.1 Base Score: 9.1 (Critical)
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:H
Mitigation and recommended actions
- Immediate: upgrade to Spring Framework 7.0.9 (available in open source). Fixes for 6.2.20, 6.1.29, 6.0.31, 5.3.50, and 5.2.26 are available only under Spring Enterprise Support.
- If no patch can be applied: avoid enabling the SpEL compiler (
spring.expression.compiler.mode=IMMEDIATE/MIXED, orSpelCompilerMode.IMMEDIATE/MIXEDviaSpelParserConfiguration) in combination withSimpleEvaluationContext. Fixed versions disable compilation by default inSimpleEvaluationContext; if compilation is required for performance reasons, it must be explicitly re-enabled via thewithCompilationSupported()builder method, with the understanding that doing so removes the safety guards.
How IONIX identifies potentially affected assets
IONIX matches the following signals against data already collected when it crawled the asset; identifying the technology sends no request beyond that crawl.
- Response body:
Caused by: org.springframework.data.orat: org.springframework.data.,org.springframework.data.mapping.MappingException,org.springframework.data.repository.RepositoryCreationException,/WEB-INF/lib/spring-data-commons-<version>.jar,spring-data-commons-<version>.jar,/META-INF/MANIFEST.MFfollowed byspring-data-commons

