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
tomcat85-check — CVE-2025-55752 CVE-2025-55754 CVE-2025-48988 CVE-2025-52520 CVE-2025-53506 CVE-2025-61795 CVE-2025-66614:Tomcat 8.5 está EOL, versão final 8.5.100. A Apache declarou, item por item, que "8.5 também é afetado" em 14 CVEs de 2025, das quais 10 não são encontradas no NVD ao consultar 8.5.100. Jar único offline, lê conf/ para determinar exatamente quais delas afetam você. | Kitploit
Ferramentas/GitHubGitHub/xiaoqimikko/tomcat85-check
Segurança de Infraestrutura em NuvemScanners de VulnerabilidadesAnálise de VulnerabilidadesAuditoria de ConfiguraçãoSegurança WebDevSecOps
GitHubxiaoqimikko/tomcat85-check

tomcat85-check

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 →
Ver Repositório
há 1 diaAinda não revisado

Sobre

CVE-2025-55752 CVE-2025-55754 CVE-2025-48988 CVE-2025-52520 CVE-2025-53506 CVE-2025-61795 CVE-2025-66614:Tomcat 8.5 está EOL, versão final 8.5.100. A Apache declarou, item por item, que "8.5 também é afetado" em 14 CVEs de 2025, das quais 10 não são encontradas no NVD ao consultar 8.5.100. Jar único offline, lê conf/ para determinar exatamente quais delas afetam você.

Compartilhar

tomcat85-check

Ainda está rodando Tomcat 8.5? Esta ferramenta mostra quais CVEs de 2025 realmente afetam você — porque essa pergunta não tem resposta completa na página oficial, no NVD ou nos scanners.

Jar único sem dependências, roda offline, sem internet, sem enviar nada.


O que ela resolve

O Tomcat 8.5 atingiu EOL em 2024-03-31, com a versão final 8.5.100 (lançada em 2024-03-19). Depois disso, a Apache continuou declarando nos registros de CVE, item por item, que "8.5 também é afetado", e o lugar onde isso é dito é o que menos gente consulta.

A página oficial de segurança 9.x da Apache lista 17 CVE-2025-*, dos quais 14 dizem literalmente:

The following versions were EOL at the time the CVE was created but are known to be affected: 8.5.x though 8.5.100

(texto original — em 8 das 14, through está escrito como though; o limite inferior na maioria é 8.5.0, mas também há 8.5.6 / 8.5.44 / / )

8.5.60
8.5.90

Essas 14, o que você vê em cada um dos três lugares é:

Onde você vai consultarO que você vê
Página oficial de segurança 8.5 da Apache (security-8.html)Zero entradas de 2025 — a página para em 2024-02-19 Fixed in Apache Tomcat 8.5.99
NVDConsultando 8.5.100 pelo cpe, dessas 14 só retorna 4; nas outras 10, a configuração cpe nem inclui o 8.5
GitHub advisoryAs 14 estão lá, mas do lado do 8.5 o first_patched_version é null em todas

O único lugar que documenta isso por completo é o registro original que a Apache submeteu como CNA no CVE.org — ou seja, a camada que menos gente vai fuçar. O que esta ferramenta faz é confrontar a informação dessa camada com a versão realmente instalada na sua máquina.

🔴 Esta ferramenta expõe diferenças entre fontes de dados, não o comportamento de um produto. "Seu scanner vai reportar essas 10 ou não" depende de qual base ele lê e como ele mescla — isso não foi testado na prática, então não está escrito aqui.


A outra metade igualmente importante: das 14, apenas 2 afetam a configuração padrão

Reportar só pelo número da versão faz com que 12 itens que "só valem com configuração específica" também pareçam "você está afetado" — isso é mandar você fazer algo desnecessário.

Por isso, quando um diretório de instalação é informado, a ferramenta lê todos os XMLs em conf/ (incluindo conf/Catalina/<host>/), remove os blocos de comentário e então procura os marcadores das condições de disparo. Remover comentários não é opcional: no server.xml oficial, a busca por texto de UpgradeProtocol encontra 1 ocorrência; sem comentários, são 0 — o trecho inteiro está comentado.

Rodando numa instalação limpa do 8.5.100 oficial, o resultado é:

root@kitploit:~
2 afetados por padrão · 0 confirmados por configuração · 11 exigem confirmação manual · 1 não aplicável
10 deles não têm entrada para 8.5 na configuração cpe do NVD

Ativando HTTP/2, RewriteValve e CGIServlet na mesma configuração, "confirmados por configuração" passa para 5.


Uso

root@kitploit:~
java -jar tomcat85-check.jar <diretório de instalação | jar | war> ...

  --all     lista também os itens cuja "versão está fora do intervalo"
  --utf8    use se houver caracteres chineses ilegíveis no console do Windows
root@kitploit:~
# Tomcat descompactado — passe o nível que contém conf/, reduz bastante o trabalho manual
java -jar tomcat85-check.jar /opt/tomcat

# Dá para escanear com apenas um jar / war
java -jar tomcat85-check.jar /opt/app/lib/catalina.jar

Como a versão é identificada em instalações descompactadas

Os jars em lib/ não têm nenhum número de versão no nome do arquivo (é catalina.jar, não catalina-8.5.100.jar). Ferramentas que extraem a versão só pelo nome do arquivo não reconhecem nada nesse tipo de implantação — e "não escaneou nada" parece exatamente igual a "você está seguro".

Esta ferramenta obtém a versão nesta ordem:

  1. server.number em catalina.jar!/org/apache/catalina/util/ServerInfo.properties — é o que o próprio version.sh do Tomcat reporta
  2. Implementation-Version no META-INF/MANIFEST.MF
  3. Nome do arquivo (só existe em formatos como o embutido do Spring Boot)

Quando as duas fontes divergem (ServerInfo.properties pode ser sobrescrito, algo comum para esconder a versão), as duas são reportadas, sem escolher por você.


Três linhas que não serão cruzadas

Um: dá para confirmar que está ativo, não dá para confirmar que está inativo. Quando o relatório diz "não encontrado", significa "não encontrado nos arquivos que examinei", não "você não ativou". A configuração pode estar em lugares que a ferramenta não enxerga: WEB-INF/web.xml dentro do war, CATALINA_BASE externo, argumentos de inicialização. Por isso não existe a categoria "não afetado" — tudo o que não é encontrado cai em exige confirmação manual.

Dois: encontrar o marcador também não significa que é exatamente aquilo. Por exemplo, no server.xml padrão oficial o AprLifecycleListener já vem ativado, mas ele apenas tenta carregar a biblioteca nativa — se a biblioteca não existe, o conector APR não é ativado. Então é um "marcador fraco": quando há correspondência, reporta-se apenas "possível", não "confirmado".

Três: não existe versão 8.5 para a qual atualizar. O first_patched_version das 14 é null do lado do 8.5. Não é "ainda não corrigido", é "não será corrigido para o 8.5". A única saída é mudar de linha (9.0 / 10.1 / 11.0). Esta ferramenta responde "do que você está afetado", sem fingir que pode responder "para qual 8.5 atualizar".


Outra coisa que pode fazer você achar que "a ferramenta está errada": o mesmo CVE tem várias classificações

Tomando o CVE-2025-55754 como exemplo, os quatro números são todos verdadeiros:

Quem atribuiuValor
Apache (escala de quatro níveis da ASF)low
GitHub advisorylow
CVSS v3.1 (é o que o NVD adota)9.6 critical
CVSS v4.02.1

Se você olhar só o NVD, vai achar que é o mais grave de todos; só a Apache, vai achar que pode ignorar. Nenhum dos dois está errado — a Apache avalia a explorabilidade real na configuração padrão; o CVSS é um cálculo mecânico a partir do vetor, sem considerar se você ativou ou não o recurso.

Por isso esta ferramenta imprime os quatro números e, quando as duas avaliações divergem, diz isso explicitamente.

Os dois vocabulários não são a mesma coisa; o alinhamento só é feito no passo que a Apache suporta oficialmente

A Apache usa low / moderate / important / critical; o GitHub usa low / medium / high / critical. A base do alinhamento vem do texto oficial em security-impact.html do Tomcat:

Important / High — A vulnerability rated as Important (or High) impact is one which could result in the compromise of data or availability of the server.

→ Important e High são dois nomes para o mesmo nível, e isso está escrito junto pela própria Apache. 🔴 Já a Apache não diz que moderate e medium são alinháveis, e esta ferramenta também não alinha por conta própria — o Moderate da ASF define condições de explorabilidade como "tem fatores de mitigação significativos / não afeta configurações comuns / exige autenticação", enquanto o medium do GitHub é uma faixa de pontuação CVSS; não são a mesma coisa. Nesse caso, reporta-se "a Apache não diz que esses dois níveis são iguais" e os dois são apresentados.

Sob esse critério, das 14, 5 têm avaliações substancialmente diferentes entre os dois lados (o caso mais extremo é o CVE-2025-52520: Apache low / GitHub high), 2 não são alinháveis e 7 são iguais.


De onde vêm os dados e como reproduzir

A tabela de decisão CveTable.java é gerada, sem nenhuma linha copiada à mão:

root@kitploit:~
python -u tools/fetch_sources.py    # busca as três fontes primárias → tools/sources.json
python -u tools/gen_table.py        # gera CveTable.java (5 asserções; se alguma falhar, o arquivo não é gravado)
FonteUsada para responder
CVE.org (registro original da Apache como CNA)A própria Apache declarou "afeta o 8.5"? Qual é o intervalo?
NVDA configuração cpe tem entrada para o 8.5?
GitHub advisoryseverity, coordenadas Maven afetadas, existe versão corrigida do lado do 8.5?

Antes de publicar/divulgar, ainda é feita uma verificação com critério independente — ela não lê o sources.json acima, mas analisa o CveTable.java gerado e consulta o NVD novamente pelo cpe:

root@kitploit:~
python -u tools/recheck_before_publish.py

Esse passo não é formalidade: na primeira execução, ele pegou um erro real. O script gerador, ao julgar se "o NVD tem o 8.5", só reconhecia "intervalo cujo limite inferior começa com 8.5", mas o CVE-2025-24813 está escrito como versionStartIncluding=None .. versionEndExcluding=9.0.99 — limite inferior aberto, ou seja, ele cobre o 8.5. A diferença ficou com uma entrada a mais. Consultar cveId por item nunca teria revelado isso; só o critério na perspectiva do usuário — "consultar 8.5.100 pelo cpe" — foi que esbarrou no problema.


Build

root@kitploit:~
mvn package        # → target/tomcat85-check.jar
mvn test           # 59 testes

Requer JDK 17+. Zero dependências em tempo de execução; JUnit apenas nos testes.


License

MIT — veja LICENSE

Baixar ferramenta