Spring Framework DataBinder Case Sensitive Match Exception

Description

CVE-2024-38820 ensured Locale-independent, lowercase conversion for both the configured disallowedFields patterns and for request parameter names. However, there are still cases where it is possible to bypass the disallowedFields checks.

Affected Spring Products and Versions

Spring Framework:
* 6.2.0 - 6.2.6

  • 6.1.0 - 6.1.19

  • 6.0.0 - 6.0.27

  • 5.3.0 - 5.3.42

  • Older, unsupported versions are also affected

Mitigation

Users of affected versions should upgrade to the corresponding fixed version.

Affected version(s) Fix Version  Availability
 6.2.x 6.2.7 OSS
6.1.x 6.1.20 OSS
6.0.x 6.0.28 Commercial https://enterprise.spring.io/
5.3.x 5.3.43 Commercial https://enterprise.spring.io/

No further mitigation steps are necessary.

Generally, we recommend using a dedicated model object with properties only for data binding, or using constructor binding since constructor arguments explicitly declare what to bind together with turning off setter binding through the declarativeBinding flag. See the Model Design section in the reference documentation.

For setting binding, prefer the use of allowedFields (an explicit list) over disallowedFields.

Credit

This issue was responsibly reported by the TERASOLUNA Framework Development Team from NTT DATA Group Corporation.

Basic information

Type
reviewed
Severity
low
Advisory on GitHub
Open advisory ↗
Repository advisory
Source code
Browse source ↗
Published (advisory)
2025-05-16 21:32:12 UTC
Updated
2025-06-02 16:03:03 UTC
GitHub reviewed
2025-06-02 16:03:00 UTC
NVD published
2025-05-16

EPSS Score

Score Percentile
0.08% 24.06%

CVSS Scores

Base score Version Severity Vector
3.1 3.1
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:H)
Even with access, the exploit needs extra luck, timing, or a fussy environment to actually work.
Privileges required (PR:L)
A normal user session is enough; they don’t have to be admin.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:L)
Attackers could change some data, but it’s limited—not everything goes.
Availability (A:N)
Service keeps running; no real outage angle.

Identifiers

CWEs

CWE id Name
CWE-20 Improper Input Validation

Credits

  • ryanmurf (analyst)

Affected packages (4)

Vulnerable version ranges and first patched releases as published by GitHub.

Ecosystem Package Vulnerable range First patched Vulnerable functions
maven org.springframework:spring-context >= 6.2.0, <= 6.2.6 6.2.7
maven org.springframework:spring-context >= 6.1.0, <= 6.1.19 6.1.20
maven org.springframework:spring-context >= 6.0.0, <= 6.0.23
maven org.springframework:spring-context <= 5.3.39

References

cvelogic Threat Intelligence