CVE-2026-40995 PUBLISHED

X.509 authentication bypasses Spring Security account checks

Assigner: vmware
Reserved: 16.04.2026 Published: 11.06.2026 Updated: 11.06.2026

X509AuthenticationProvider could issue a fully authenticated X509AuthenticationToken when a presented certificate mapped to UserDetails, without applying Spring Security's standard account lifecycle checks (disabled, locked, expired, or credentials-expired accounts).

Affected versions: Spring Web Services 5.0.0 through 5.0.1; 4.1.0 through 4.1.3; 4.0.0 through 4.0.18; 3.1.0 through 3.1.8.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
CVSS Score: 5.4

Product Status

Vendor Spring
Product Spring Web Services
Versions Default: unaffected
  • affected from 5.0.0 to 5.0.2 (excl.)
  • affected from 4.1.0 to 4.1.4 (excl.)
  • affected from 4.0.0 to 4.0.19 (excl.)
  • affected from 3.1.0 to 3.1.9 (excl.)

References

Problem Types

  • CWE-287: Improper Authentication CWE

Impacts

  • Accounts that are disabled, locked, expired, or have expired credentials can still authenticate when mutual TLS or certificate-based SOAP authentication is used via X509AuthenticationProvider.