User Attribute Enumeration when Using DaoAuthenticationProvider

LOW | APRIL 20, 2026 | CVE-2026-22746

Description

If an application is using the UserDetails#isEnabled, #isAccountNonExpired, or #isAccountNonLocked user attributes, to enable, expire, or lock users, then DaoAuthenticationProvider's timing attack defense can be bypassed for users who are disabled, expired, or locked.

Affected Spring Products and Versions

Spring Security:

  • 7.0.0 - 7.0.4
  • 6.5.0 - 6.5.9
  • 6.4.0 - 6.4.15
  • 6.3.0 - 6.3.15
  • 5.8.0 - 5.8.24
  • 5.7.22 and earlier

Mitigation

Users of affected versions should upgrade to the corresponding fixed version.
Fix versionAvailability
7.0.5OSS
6.5.10OSS
6.4.16Enterprise Support Only
6.3.16Enterprise Support Only
5.8.25Enterprise Support Only
5.7.23Enterprise Support Only

Note that this version also introduces a setter DaoAuthenticationProvider#setAlwaysPerformAdditionalChecksOnUser. In the event that this upgrade causes you trouble, you can set this value to false.

Credit

The issue was identified and responsibly reported by meverden.

History

  • 2026-04-20: Initial vulnerability report published.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all