Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
spring-cvss-check — Scaneia artefatos e código-fonte Java em busca de CVEs do Spring/Tomcat, compara as pontuações CVSS do fornecedor com as do NVD, verifica as condições de explorabilidade e confere se versões corrigidas existem no Maven Central. | Kitploit
Ferramentas/GitHubGitHub/xiaoqimikko/spring-cvss-check
Scanners de VulnerabilidadesAnálise de VulnerabilidadesAuditoria de ConfiguraçãoDevSecOpsSegurança da Cadeia de Suprimentos
GitHubxiaoqimikko/spring-cvss-check

spring-cvss-check

Scaneia artefatos e código-fonte Java em busca de CVEs do Spring/Tomcat, compara as pontuações CVSS do fornecedor com as do NVD, verifica as condições de explorabilidade e confere se versões corrigidas existem no Maven Central.

Ver Repositório
há 19h 56mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

spring-cvss-check

Cobre 15 avisos de segurança oficiais do Spring / Tomcat (sete em 2026-08-20 · cinco em 2026-06-08 · um em 2025-09-15 · dois do Tomcat em 2026-08-25).

Em 8 deles, scanners conectados ao NVD reportam CRITICAL 9.1~9.8, enquanto a avaliação oficial do fornecedor é LOW / MEDIUM. Nos outros 7, as duas classificações são exatamente iguais — a diferença é apenas uma: se o fornecedor enviou ou não a pontuação CVSS para o registro do CVE.

Esta ferramenta responde a quatro perguntas:

  1. Quais dessas 15 vulnerabilidades afetam a sua versão
  2. Qual é a pontuação oficial (e quem atribuiu a pontuação no NVD)
  3. Se você realmente atende às condições de acionamento (analisa o código-fonte e a configuração, não apenas compara números de versão)
  4. A versão que o fornecedor manda você atualizar existe no Maven Central

A tabela de comparação

CVEComponenteOficial do fornecedorNVDQuem deu a pontuação no NVD
CVE-2026-59313Spring FrameworkLOW9.8 CRITICALCISA-ADP
CVE-2026-47890Spring FrameworkLOW9.8 CRITICALCISA-ADP
CVE-2026-59283Spring FrameworkMEDIUM9.1 CRITICALCISA-ADP
CVE-2026-47891Spring FrameworkMEDIUM9.8 CRITICALCISA-ADP
CVE-2026-47884Spring FrameworkMEDIUM9.8 CRITICALCISA-ADP
CVE-2026-47892Spring FrameworkMEDIUM9.8 CRITICALCISA-ADP
CVE-2026-65637Apache TomcatModerate9.8 CRITICALCISA-ADP
CVE-2026-65905Apache TomcatLow9.8 CRITICALCISA-ADP
CVE-2026-59270Spring SecurityCRITICAL9.4 CRITICALAutoavaliação do fornecedor ✅ Consistente

O único caso em que os dois lados coincidem é exatamente aquele em que o fornecedor enviou o CVSS ao NVD.

A causa não é ninguém escondendo nada: quando o fornecedor não envia a pontuação, a CISA-ADP atribui automaticamente uma nota com base no pior cenário, e a maioria das ferramentas SCA usa o valor do NVD. Isso não é um Bug, são os critérios de dois sistemas de avaliação distintos — mas o seu fluxo de resposta a incidentes está seguindo o 9.8.

E a segunda coisa: a versão que o fornecedor manda você atualizar pode nem existir para download

Teste real (com controle positivo, reexecutado a cada geração da tabela de regras):

root@kitploit:~
spring-web           6.2.19 = 200   ← versão anterior está no Central
spring-web           6.2.20 = 404   ← a que o fornecedor manda atualizar, não existe
spring-security-core 6.5.11 = 200
spring-security-core 6.5.12 = 404

Na tabela oficial de versões de correção, essas versões estão marcadas como Enterprise Support Only — disponíveis apenas para clientes com suporte comercial. Então, se você realmente for afetado, suas opções são: atualizar para uma versão principal diferente ou comprar suporte comercial.

Uso

root@kitploit:~
java -jar spring-cvss-check.jar <jar|war|diretorio>... [--src <diretorio-do-codigo-fonte>]
root@kitploit:~
# Mais comum: analisar artefatos de build para determinar a versão e o código-fonte para as condições de acionamento
java -jar spring-cvss-check.jar target/ --src src/main

# Um único fat jar / war também funciona
java -jar spring-cvss-check.jar app.war

Requer JDK 17+. Zero dependências em tempo de execução, sem conexão com a internet.

Código de saída: 0 versão não afetada · 2 versão afetada mas nenhuma condição de acionamento encontrada · 3 condições de acionamento também confirmadas.

Como é a saída

root@kitploit:~
== Versões encontradas ==
  Spring Framework   6.2.19         .../spring-core-6.2.19.jar
  Spring Security    6.5.11         .../spring-security-core-6.5.11.jar
  Apache Tomcat      9.0.37         .../tomcat-embed-core-9.0.37.jar

== Versão afetada por 8 vulnerabilidades ==

-- CVE-2026-47884  Spring Framework Improper Path Limitation in XsltView
   Produto     Spring Framework  Afetadas 6.2.0 - 6.2.19
   [Diferença]     Oficial **MEDIUM**   <->   NVD **CRITICAL 9.8**
             A pontuação no NVD não foi dada pelo fornecedor, mas pela CISA-ADP.
   Condição de acionamento   Somente se usar XsltView, e existir um mapeamento "/**" que passe pela renderização de views, e o nome da view não for especificado explicitamente
   [Confirmado]    Encontrado no seu código/configuração:
             src/main/java/demo/ReportView.java  <-  XsltView(linha 2)
   [Sem atualização]  O fornecedor manda atualizar para 6.2.20 —— **essa versão não existe no Maven Central (404)**, marcada oficialmente como Enterprise Support Only

== Resumo ==
  Seu scanner pode reportar 7 dessas 8 como CRITICAL;
  enquanto a avaliação **oficial do fornecedor** é: 3 LOW / 4 MEDIUM / 1 CRITICAL.
  Dessas 8, em 6 não foram encontradas condições de acionamento no seu código-fonte; em 2 foram.
  [!] Em 7 delas, a versão de correção oficial **não existe no Maven Central**

O outro lado — por que as outras 7 não diferem

A tabela acima pode dar a impressão de que "o NVD sempre pontua errado". Não é verdade. No mesmo lote de dados há outras 7 vulnerabilidades em que a classificação oficial e a do NVD são exatamente iguais:

CVEComponenteOficial do fornecedorNVDQuem deu a pontuação no NVD
CVE-2026-59270Spring SecurityCRITICAL9.4 CRITICALAutoavaliação do fornecedor
CVE-2026-41843Spring FrameworkMEDIUM5.9 MEDIUMAutoavaliação do fornecedor
CVE-2026-41844Spring FrameworkMEDIUM4.2 MEDIUMAutoavaliação do fornecedor
CVE-2026-41846Spring FrameworkMEDIUM5.9 MEDIUMAutoavaliação do fornecedor
CVE-2026-41853Spring FrameworkMEDIUM5.3 MEDIUMAutoavaliação do fornecedor
CVE-2026-41848Spring FrameworkLOW3.7 LOWAutoavaliação do fornecedor
CVE-2025-41249Spring FrameworkHIGH7.5 HIGHAutoavaliação do fornecedor

Não há contraexemplos em nenhuma das duas direções, e este é o único julgamento causal que esta ferramenta se atreve a fazer:

  • 7 vulnerabilidades com classificação consistente → a fonte da pontuação é sempre [email protected] (enviada pelo próprio fornecedor)
  • 8 vulnerabilidades com classificação inconsistente → a fonte da pontuação é sempre CISA-ADP (fornecedor não enviou; um terceiro pontuou automaticamente pelo pior cenário)

O script de geração usa duas asserções para monitorar cada direção (ASSERT4 / ASSERT7); se qualquer contraexemplo aparecer, a tabela é recusada.

🔑 Por que validar as duas direções: o fato de que "as consistentes são todas autoavaliações do fornecedor" não exclui que "algumas inconsistentes também sejam autoavaliações do fornecedor". Se um item assim aparecesse, a causalidade teria um contraexemplo, e validar apenas uma direção ainda geraria a tabela inteira, toda verde. Uma asserção unilateral não prova causalidade.


Critérios — leia tudo antes de concluir

  • "Não afetado" não significa "seguro". A condição de acionamento pode estar em uma biblioteca de terceiros da qual você depende, pode ser aplicada por variáveis de ambiente ou por um centro de configuração, ou você simplesmente pode não ter passado o diretório do código-fonte. O relatório sempre diz "não encontrado no seu código-fonte", nunca "você não é afetado".
  • Cobre apenas os quatro lotes listados acima, num total de 15 vulnerabilidades; não é um scanner de vulnerabilidades abrangente e não substitui um SCA.
  • A cobertura inclui a linha Spring Framework 5.3 (suporte OSS encerrado em 2024-08-31, versão final 5.3.39). Rodar com spring-core-5.3.39.jar acusará 11 vulnerabilidades, e para essas 11, nenhuma versão de correção oficial existe no Maven Central público (5.3.45 / 5.3.49 / 5.3.50, todas marcadas como Enterprise Support Only).
  • Faz apenas correspondência de texto, não AST. Essa é uma escolha deliberada: os caminhos críticos precisam ser legíveis e verificáveis por humanos — um julgamento que ninguém entende não pode ser corrigido quando estiver errado.
  • A diferença de classificação é uma leitura objetiva, não é "o fornecedor escondendo algo" nem "o NVD reportando errado".

De onde vêm os dados / como verificar você mesmo

A tabela de regras é gerada pelo tools/gen_rules.py a partir de quatro fontes primárias, sem transcrição manual:

FonteO que extrai
Aspring.io/security/<cve>Classificação oficial / faixa afetada / versão de correção (incluindo marcação OSS ⟷ Enterprise)
Btomcat.apache.org/security-{9,10,11}.htmlIdem
CNVD REST APIClassificação do NVD e a fonte da pontuação
Drepo1.maven.org(HEAD)Se a versão que o fornecedor manda atualizar existe de fato no Central

Reexecutar é reverificar:

root@kitploit:~
python tools/gen_rules.py

O script contém seis asserções; se alguma falhar, a tabela é recusada, e três delas monitoram diretamente as afirmações desta ferramenta:

  • ASSERT2 Número de vulnerabilidades com divergência oficial⟷NVD —— se zerar, a afirmação perdeu a validade e o processo para na hora
  • ASSERT3 Detecção no Central com controle positivo —— se o controle falhar, todos os 404 daquele lote são invalidados
  • ASSERT4 Na vulnerabilidade consistente, a fonte da pontuação deve ser autoavaliação do fornecedor —— é a única evidência da "causa"

License

Apache-2.0

Baixar ferramenta