Verifique o status das CVEs. Saiba mais.
Os patches do php2shell (CVE-2026-109618 e CVE-2026-109619) para o PHP em fim de vida (EOL) já estão disponíveis. Como as respostas do atendimento de vendas estão mais demoradas do que o normal devido à alta demanda, a maneira mais rápida de obter os pacotes corrigidos é adquirir o ELS para Runtimes on-line (abre em uma nova aba). | Leia as perguntas frequentes sobre os patches
Observação: na versão 5.8.16.tuxcare, aplicamos nosso patch à versão mais recente disponível da comunidade de código aberto como base.
Essa vulnerabilidade (CVE) foi resolvida pela equipe da TuxCare e
um patch foi disponibilizado para os usuários do ELS forSpring®.
O Spring® Security é uma poderosa estrutura de autenticação e controle de acesso para aplicativos Java, especialmente aqueles desenvolvidos com oSpring® Framework. Ele oferece uma solução de segurança abrangente, abordando diversos aspectos, como autenticação, autorização e proteção contra vulnerabilidades comuns de segurança.
A autenticação inadequada ocorre quando um agente alega ter uma determinada identidade, mas o produto não comprova, ou comprova de forma insuficiente, que essa alegação está correta.
Nesta vulnerabilidade (CVE), o BCryptPasswordEncoderdo Spring® Security não impõe um limite máximo para o comprimento da senha; o método BCryptPasswordEncoder.matches(CharSequence, String) retornará incorretamente “true” para senhas com mais de 72 caracteres, desde que os primeiros 72 caracteres sejam idênticos.
Esse problema afeta várias versões do pacote org.springframework.security:spring-security-crypto.
| Dossiê de Vulnerabilidades | |
|---|---|
| ID do CVE | CVE-2025-22228 |
| Gravidade | Máxima: 7,4 |
| CWE-ID e nome | CWE-287: Autenticação inadequada |
| Projeto afetado | SegurançaSpring® |
| Pacotes afetados | spring-security-crypto |
| Versões afetadas | 5.6.2 and older, <5.7.0;5.7.15>, <5.8.0;5.8.16>, <6.0.0;6.0.15>, <6.1.0;6.1.13>, <6.2.0;6.2.9>, <6.3.0;6.3.7>, <6.4.0;6.4.3> |
| Data de publicação do NVD | 20 de março de 2025 |
| Data de correção do TuxCare | 26 de março de 2025 |
| Versão corrigida do TuxCare | 5.8.16.tuxcare |
Senhas com hash BCrypt têm comprimento máximo de 72 caracteres. A função `hashpw` da classe `BCrypt` do ` spring-security-crypto` gera o hash apenas dos primeiros 72 caracteres de uma senha. Qualquer senha com comprimento superior a esse limite será validada apenas com base nos primeiros 72 caracteres.
Após a aplicação da correção, as senhas existentes com mais de 72 caracteres precisam ser redefinidas para que o sistema funcione corretamente, pois um usuário com uma senha desse tipo simplesmente não conseguirá fazer login. Novas senhas com mais de 72 caracteres não são aceitas.
A aplicação do teste (crédito: Joe Grandja) abaixo nos permite testar essa vulnerabilidade.
@Test
public void enforcePasswordLength() {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String password72chars = "123456789012345678901234567890123456789012345678901234567890123456789012";
assertThat(encoder.matches(password72chars, encoder.encode(password72chars))).isTrue();
String password73chars = password72chars.concat("a");
assertThatIllegalArgumentException()
.isThrownBy(() -> encoder.matches(password73chars, encoder.encode(password73chars)));
}
O Spring® Security 5.8.x não conta mais com o suporte da comunidade de código aberto, já que sua data de fim de vida útil é 31/12/2023. Isso significa simplesmente que as versões a partir dessa data não recebem mais atualizações para corrigir esse problema.
Os usuários dos componentes afetados devem aplicar uma das seguintes medidas de mitigação:
Se você precisar de uma correção para essa vulnerabilidade em qualquer outra versãodo Spring® Security, entre em contato conosco. Estamos aqui para ajudá-lo!