Skip to content

Document DaoAuthenticationProvider timing attack mitigation - #19532

Closed
AzazelSensei wants to merge 1 commit into
spring-projects:mainfrom
AzazelSensei:cursor/document-timing-attack-mitigation-66d5
Closed

Document DaoAuthenticationProvider timing attack mitigation#19532
AzazelSensei wants to merge 1 commit into
spring-projects:mainfrom
AzazelSensei:cursor/document-timing-attack-mitigation-66d5

Conversation

@AzazelSensei

Copy link
Copy Markdown

Closes gh-19082

Documents that DaoAuthenticationProvider still runs password validation through the configured PasswordEncoder when a username is not found (dummy encoded password + matches), so the not-found path stays roughly in the same time range as a found path using that encoder.

Also documents the limitation when a credential store mixes hash algorithms: Spring Security cannot pick one not-found duration that matches every found path, and upgrading stored passwords to a modern algorithm is the practical mitigation.

Changes

  • Short note on the DaoAuthenticationProvider reference page
  • New Servlet exploits page on timing attacks, linked from the exploits index and nav

Verification

  • Cross-checked against DaoAuthenticationProvider#retrieveUser, prepareTimingAttackProtection, and mitigateAgainstTimingAttack
  • Docs describe only the behavior present in that implementation

Note the user-not-found dummy PasswordEncoder path and the mixed-hash
limitation in the DaoAuthenticationProvider and exploits docs.

Closes spring-projectsgh-19082
@spring-projects-issues spring-projects-issues added the status: waiting-for-triage An issue we've not yet triaged label Aug 12, 2026
@AzazelSensei

Copy link
Copy Markdown
Author

Superseded by clean branch: #19533

@AzazelSensei
AzazelSensei deleted the cursor/document-timing-attack-mitigation-66d5 branch August 12, 2026 08:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status: waiting-for-triage An issue we've not yet triaged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document Timing Attack Mitigation Support

2 participants