From 627a412748fadc047cf1d416214b2e897589487d Mon Sep 17 00:00:00 2001 From: Josh Cummings <3627351+jzheaux@users.noreply.github.com> Date: Thu, 2 Jul 2026 11:15:10 -0600 Subject: [PATCH] Use Constant-Time Equals This commit updates the filter to use constant-time equals for sensitive material Signed-off-by: Josh Cummings <3627351+jzheaux@users.noreply.github.com> --- .../security/core/token/KeyBasedPersistenceTokenService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/org/springframework/security/core/token/KeyBasedPersistenceTokenService.java b/core/src/main/java/org/springframework/security/core/token/KeyBasedPersistenceTokenService.java index 05d6cef447..8f214b0147 100644 --- a/core/src/main/java/org/springframework/security/core/token/KeyBasedPersistenceTokenService.java +++ b/core/src/main/java/org/springframework/security/core/token/KeyBasedPersistenceTokenService.java @@ -132,7 +132,7 @@ public class KeyBasedPersistenceTokenService implements TokenService, Initializi // Verification String content = creationTime + ":" + pseudoRandomNumber + ":" + extendedInfo.toString(); String expectedSha512Hex = Sha512DigestUtils.shaHex(content + ":" + serverSecret); - Assert.isTrue(expectedSha512Hex.equals(sha1Hex), "Key verification failure"); + Assert.isTrue(Utf8.isEqual(expectedSha512Hex, sha1Hex), "Key verification failure"); return new DefaultToken(key, creationTime, extendedInfo.toString()); }