Plataforma
java
Componente
spring-security
Corrigido em
6.4.16
6.5.10
7.0.5
6.5.10
A Time-of-check Time-of-use (TOCTOU) race condition has been identified within Spring Security. This vulnerability allows attackers to potentially hijack sessions by exploiting a timing window in the One-Time Token login process when using JdbcOneTimeTokenService. The issue impacts Spring Security versions from 6.4.0 through 6.4.15, 6.5.0 through 6.5.9, and 7.0.0 through 7.0.4. A fix is available in version 6.4.16.
A CVE-2026-22751 afeta aplicações Spring que utilizam Spring Security e, especificamente, a configuração de login com Token Único (One-Time Token) através de JdbcOneTimeTokenService. Trata-se de uma vulnerabilidade de condição de corrida Time-of-check Time-of-use (TOCTOU). Isso significa que um atacante pode explorar uma pequena janela de tempo entre a verificação da validade de um token e o seu uso real. Se um atacante conseguir modificar o banco de dados entre estes dois pontos, poderá obter acesso não autorizado. As versões afetadas são Spring Security 6.4.0 a 6.4.15, 6.5.0 a 6.5.9 e 7.0.0 a 7.0.4. A severidade, de acordo com o CVSS, é 4.8, indicando um risco médio.
A vulnerabilidade é explorada através de uma condição de corrida TOCTOU. Um atacante poderia, por exemplo, solicitar um token único, verificar a sua validade e, em seguida, antes que o token seja utilizado para autenticar o utilizador, modificar o banco de dados para invalidar ou reutilizar o token. Isto permitiria ao atacante contornar a autenticação e aceder ao sistema como se fosse um utilizador legítimo. A complexidade da exploração depende da capacidade do atacante para manipular o banco de dados e da configuração da aplicação.
Organizations utilizing Spring Security with JdbcOneTimeTokenService for One-Time Token login are at risk. This includes applications with custom authentication flows or those relying on Spring Security's built-in One-Time Token functionality. Specifically, those using Spring Boot applications with default configurations may be vulnerable if they haven't explicitly upgraded.
• java / server:
# Check Spring Security version
java -jar your_application.jar | grep 'Spring Security' • java / server:
# Examine application logs for authentication failures or unusual token activity
grep -i 'one-time token' /path/to/application.log• java / supply-chain:
# Check for vulnerable dependencies using Maven or Gradle
# Example using Maven: mvn dependency:tree | grep 'spring-security' disclosure
Status do Exploit
EPSS
0.03% (percentil 9%)
CISA SSVC
Vetor CVSS
A solução mais eficaz é atualizar o Spring Security para a versão 6.4.16 ou superior, 6.5.10 ou superior, ou 7.0.5 ou superior. Estas versões incluem correções para mitigar a condição de corrida TOCTOU. Se não for possível atualizar imediatamente, considere medidas de mitigação temporárias, como restringir o acesso ao banco de dados onde os tokens únicos são armazenados, implementar controles de acesso mais rigorosos e monitorar a aplicação em busca de atividades suspeitas. É crucial avaliar o risco específico de cada aplicação e aplicar as medidas de segurança mais apropriadas.
Actualice Spring Security a la versión 6.4.16 o superior, 6.5.10 o superior, o 7.0.5 o superior para mitigar la vulnerabilidad TOCTOU en el servicio JdbcOneTimeTokenService. Esta actualización corrige la condición de carrera que permite la autenticación de múltiples sesiones con un solo token de un solo uso. Revise la documentación oficial de Spring Security para obtener instrucciones detalladas de actualización.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
É um tipo de vulnerabilidade que ocorre quando existe uma janela de tempo entre a verificação de uma condição e a ação que é realizada com base nessa condição. Um atacante pode aproveitar esta janela para modificar a condição, fazendo com que a ação seja realizada de forma inesperada.
Uma pontuação de 4.8 na escala CVSS indica um risco médio. Isso significa que a vulnerabilidade pode ser explorada, mas não é trivial e requer alguma habilidade ou acesso.
Implemente medidas de mitigação temporárias, como restringir o acesso ao banco de dados, fortalecer os controles de acesso e monitorar a aplicação em busca de atividades suspeitas.
Não, afeta apenas as aplicações que utilizam Spring Security e, especificamente, a configuração de login com Token Único (One-Time Token) através de JdbcOneTimeTokenService.
Pode encontrar mais informações nas notas de versão do Spring Security e em bases de dados de vulnerabilidades como o National Vulnerability Database (NVD).
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo pom.xml e descubra na hora se você está afetado.