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
Essa vulnerabilidade (CVE) foi resolvida pela equipe da TuxCare e
um patch foi disponibilizado para os usuários do ELS forSpring®.
O Spring® Framework é uma estrutura abrangente e de código aberto para a criação de aplicativos Java. Ele oferece injeção de dependências (DI), programação orientada a aspectos (AOP) e gerenciamento de transações, tornando o desenvolvimento em Java mais modular e eficiente.
O Spring® Web é um módulo doSpring® Framework projetado para a criação de aplicativos web e serviços RESTful em Java. Ele oferece funcionalidades essenciais para a web, incluindo o tratamento de solicitações baseado em servlets, suporte à API REST e integração como Spring® Web MVC, que é um módulo doSpring® Framework que fornece uma poderosa arquitetura Modelo-Visão-Controlador (MVC) para a criação de aplicativos web. O Spring® WebFlux é uma estrutura web reativa e não bloqueante introduzida noSpring® 5. Ele foi projetado para lidar com aplicativos web assíncronos e orientados a eventos usando o Project Reactor (fluxos reativos).
A limitação inadequada de um caminho de acesso a um diretório restrito (“Path Traversal”) ocorre quando o produto utiliza entradas externas para construir um caminho de acesso destinado a identificar um arquivo ou diretório localizado dentro de um diretório pai restrito, mas o produto não neutraliza adequadamente elementos especiais contidos no caminho de acesso que podem fazer com que ele aponte para um local fora do diretório restrito.
A vulnerabilidade CVE-2024-38816, do tipo “Path Traversal” de alta gravidade, afeta aplicativos que utilizam as estruturas funcionais WebMvc.fn ou WebFlux.fn para servir recursos estáticos. Os invasores podem explorar essa vulnerabilidade criando solicitações HTTP maliciosas que lhes permitam recuperar qualquer arquivo no sistema de arquivos ao qual o processo do aplicativoSpring® tenha acesso.
Este problema afeta várias versões de:
pacote org.springframework:spring-webflux ,
Pacote org.springframework:spring-webmvc.
| Dossiê de Vulnerabilidades | |
| ID do CVE | CVE-2024-38816 |
| Gravidade | Máxima: 7,5 |
| CWE-ID e nome | CWE-22: Limitação inadequada de um nome de caminho a um diretório restrito (“Path Traversal”) |
| Projeto afetado | Spring® Framework |
| Pacotes afetados | spring-webflux
spring-webmvc |
| Versões afetadas | All prior 5.3.0, <5.3.0;5.3.39>,<6.0.0;6.0.23>,<6.1.0;6.1.12> |
| Data de publicação do NVD | 13 de setembro de 2024 (Spring.io: 12 de setembro de 2024) |
| Data de correção do TuxCare | 26 de setembro de 2024 |
| Versão corrigida do TuxCare | 5.3.39.tuxcare.1 |
https://mvnrepository.com/artifact/org.springframework/spring-webflux
https://mvnrepository.com/artifact/org.springframework/spring-webmvc
Aplicativos que servem recursos estáticos por meio das estruturas funcionais da web WebMvc.fn ou WebFlux.fn estão vulneráveis a ataques de traversal de caminho. Um invasor pode criar solicitações HTTP maliciosas e obter qualquer arquivo no sistema de arquivos que também esteja acessível ao processo no qual o aplicativoSpring® está sendo executado.
Especificamente, um aplicativo é vulnerável quando ambas as condições a seguir se aplicam:
No entanto, as solicitações maliciosas são bloqueadas e rejeitadas quando ocorrer qualquer uma das seguintes situações:
Em aplicativos que utilizam RouterFunctions e servem arquivos a partir do sistema de arquivos (por exemplo, com FileSystemResource), invasores podem solicitar caminhos como:
/public/../../../../etc/passwd
…para ler arquivos confidenciais.
Isso afeta tanto as aplicações Spring® WebFlux.fn quanto as Spring® WebMvc.fn, tornando-se relevante em diferentes pilhas de web.
Se você configurar seu aplicativoSpring® WebFlux ou WebMvc.fn para servir arquivos a partir do sistema de arquivos local (por exemplo, /var/www/files) usando RouterFunctions, um invasor pode criar URLs como:
/files/../../../etc/passwd
…para acessar arquivos arbitrários fora do diretório permitido.
Sirva arquivos estáticos usando o FileSystemResource sem restrições adicionais de segurança.
Useo Spring® Boot 2.7.17 (que incluio Spring® Framework 5.3.39 – vulnerável)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
<version>2.7.17</version>
</dependency>
/arquivos-estáticos/
└── hello.txt
@Configuration
classe pública StaticResourceRouter {
@Bean
public RouterFunction<ServerResponse> staticFiles() {
retornar RouterFunctions
.resources(“/files/**”, new FileSystemResource(“/caminho/absoluto/para/arquivos-estáticos”));
}
}
ACESSE http://localhost:8080/files/hello.txt
✅ Responde com o arquivo.
ACESSE http://localhost:8080/files/../../../etc/passwd
ou codificado como URL:
ACESSE http://localhost:8080/files/..%2F..%2F..%2Fetc%2Fpasswd
Retorna o conteúdo do arquivo /etc/passwd (ou de outros arquivos acessíveis fora da pasta /static-files).
O Spring® Framework 5.3.x não conta mais com o suporte da comunidade de código aberto, já que sua data de fim de vida útil é 30 de junho de 2023. Isso significa simplesmente que, a partir dessa data, a versão não receberá mais atualizações para corrigir esse problema.
Os usuários dos componentes afetados devem aplicar uma das seguintes medidas de mitigação:
Você precisa de uma correção para essa vulnerabilidade em alguma outra versãodo Spring® Framework? Entre em contato conosco, estamos aqui para ajudá-lo!