Description
Several components in Spring Security compare security-sensitive values using standard string equality (String.equals()) rather than a constant-time comparison. Because String.equals() returns as soon as it finds a differing character, the time taken to reject an incorrect value is proportional to the number of leading characters that match the expected value.
Spring Security 7.1.0
Spring Security 7.0.0 - 7.0.6
Spring Security 6.5.0 - 6.5.11
Spring Security 6.4.0 - 6.4.18
Spring Security 5.8.0 - 5.8.27
Spring Security 5.7.0 - 5.7.25
Published: 2026-08-27
Score: 5.9 Medium
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Spring Security components use standard string equality for comparing sensitive values, which returns after detecting the first non‑matching character. This means the rejection time correlates with the number of matching leading characters. An attacker could measure response times to infer the correct value character by character, leaking credentials or tokens and enabling unauthorized access.

Affected Systems

The flaw exists in Spring Security for the following versions: 5.7.0 through 5.7.25, 5.8.0 through 5.8.27, 6.4.0 through 6.4.18, 6.5.0 through 6.5.11, 7.0.0 through 7.0.6, and 7.1.0. All deployments using these releases are vulnerable.

Risk and Exploitability

The CVSS score of 5.9 indicates medium severity. No EPSS data is available, and the vulnerability is not listed in CISA’s KEV catalog, so the likelihood of exploitation is unknown. The attack is likely performed remotely via authentication or token validation endpoints that compare user supplied values, requiring the attacker to observe response timing for each request. While each request yields partial information, repeated trials can recover the entire sensitive value.

Generated by OpenCVE AI on August 28, 2026 at 07:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade Spring Security to the latest patched release (e.g., 7.1.1 or later).
  • Replace any custom usage of String.equals() for sensitive comparisons with constant‑time comparison functions such as MessageDigest.isEqual.
  • Introduce network‑level timing mitigation, such as randomizing response times or applying rate limiting on authentication/token validation endpoints, to reduce timing side‑channel leakage.

Generated by OpenCVE AI on August 28, 2026 at 07:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Fri, 28 Aug 2026 08:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-465

Fri, 28 Aug 2026 07:00:00 +0000

Type Values Removed Values Added
First Time appeared Spring
Spring spring Security
Vendors & Products Spring
Spring spring Security

Thu, 27 Aug 2026 18:00:00 +0000

Type Values Removed Values Added
Description Several components in Spring Security compare security-sensitive values using standard string equality (String.equals()) rather than a constant-time comparison. Because String.equals() returns as soon as it finds a differing character, the time taken to reject an incorrect value is proportional to the number of leading characters that match the expected value. Spring Security 7.1.0 Spring Security 7.0.0 - 7.0.6 Spring Security 6.5.0 - 6.5.11 Spring Security 6.4.0 - 6.4.18 Spring Security 5.8.0 - 5.8.27 Spring Security 5.7.0 - 5.7.25
Title Timing Attack via Non-Constant-Time Comparison of Sensitive Values
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N'}


Subscriptions

Spring Spring Security
cve-icon MITRE

Status: PUBLISHED

Assigner: vmware

Published:

Updated: 2026-08-27T17:57:34.993Z

Reserved: 2026-07-04T18:13:09.973Z

Link: CVE-2026-59276

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-27T20:17:53.863

Modified: 2026-08-27T20:17:53.863

Link: CVE-2026-59276

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-28T08:00:13Z

Weaknesses