Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/xiaoqimikko/tomcat-check
Escáneres de VulnerabilidadesAnálisis de VulnerabilidadesAuditoría de ConfiguraciónSeguridad WebDevSecOpsSeguridad de Cadena de Suministro
GitHubxiaoqimikko/tomcat-check

tomcat-check

Determinar la versión real de Tomcat integrado en Spring Boot (no está en el pom) y, para cada CVE de 2026, proporcionar también la calificación oficial de ASF y la calificación de GitHub, las condiciones de activación y si este entrará en la alerta de Dependabot CVE-2026-41293

Ver Repositorio
hace 7 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

tomcat-check

Descubre la versión real de Tomcat que tienes instalada y, para cada CVE de 2026, muestra dos conjuntos de clasificaciones y condiciones de activación.

Un único jar sin dependencias, funciona sin conexión, no se conecta a la red ni sube nada.


Qué resuelve

1. La versión de Tomcat embebido de un proyecto Spring Boot no está en tu pom.

La controla la propiedad tomcat.version de spring-boot-starter-parent; en el pom solo ves spring-boot-starter-web. Por eso esta herramienta analiza los artefactos de construcción (jar / fat jar / directorio de instalación), no lee el pom.

2. Algunas entradas no llegan a las alertas de Dependabot.

En 2026 Tomcat publicó 29 CVE; algunas no aparecen en las alertas de los proyectos Spring Boot por dos mecanismos:

MecanismoDescripción
El advisory es unreviewedGitHub solo usa advisories reviewed para las alertas de Dependabot. unreviewed es el estado normal del proceso cuando NVD lo importa automáticamente y aún no se han confirmado manualmente los paquetes afectados
Las coordenadas no coincidenEl advisory cuelga de coordenadas como org.apache.tomcat:tomcat-coyote, mientras que el árbol de dependencias de Spring Boot solo contiene tomcat-embed-core / -el / -websocket

Efecto real: una aplicación Spring Boot con Tomcat embebido 9.0.118, con el panel de Dependabot completamente en verde, esta herramienta reporta 4 coincidencias, una de ellas expuesta por configuración predeterminada.

3. Dos sistemas de clasificación con criterios distintos, y solo ves uno de ellos.

ASF / oficial de TomcatGitHub / NVD
ClasificaciónLow / Moderate / Important / CriticalValor CVSS

De las 29, 17 tienen una diferencia de 2 niveles o más entre los dos sistemas de clasificación; el caso más extremo es CVE-2026-41293: oficial Low, GitHub critical CVSS 9.8.

Nadie se ha equivocado al informar. Los dos sistemas miden cosas distintas por diseño. Pero para decidir «¿debería actualizar ahora?», necesitas verlas a la vez — y si tienes esa función activada.


Uso

root@kitploit:~
java -jar tomcat-check.jar <jar 或目录> ...

  --all     连「不适用」的条目也列出来
  --utf8    Windows 控制台中文乱码时加这个
root@kitploit:~
# Spring Boot fat jar
java -jar tomcat-check.jar target/my-app.jar

# 独立安装的 Tomcat
java -jar tomcat-check.jar /opt/tomcat

# 整个依赖目录
java -jar tomcat-check.jar target/lib

Requiere Java 17+.

Qué contiene la salida

Cada coincidencia incluye: las dos clasificaciones, las condiciones de activación, el texto original de la descripción oficial y si esa entrada aparecerá o no en tus alertas de Dependabot. Al final ofrece un objetivo de actualización que cubre todas las coincidencias.

🔴 Así debes leer su salida

  • «Coincidencia» = tu versión cae dentro del rango oficial de Affects, no significa «ya explotada» ni «explotable por fuerza». Solo unas pocas de las 29 están expuestas por configuración predeterminada; el resto requiere que actives explícitamente alguna función (RewriteValve, autenticación DIGEST, AJP, WebDAV, comunicación de clúster...). Compara las condiciones de activación una a una.
  • «Dependabot no alertará» no significa que GitHub falle. unreviewed es un estado normal del proceso.
  • La tabla de detección solo cubre los CVE publicados en 2026. Que no haya coincidencias no significa que tu versión esté libre de problemas.
  • La herramienta no decide por ti si debes actualizar — te da las tres cosas necesarias para tomar esa decisión: qué versión tienes, cómo la valora oficialmente y cuáles son las condiciones de activación.

De dónde sale la tabla de detección

tools/gen_rules.py genera CveTable.java a partir de dos fuentes primarias, sin copiar ni una línea manualmente:

  • https://tomcat.apache.org/security-{9,10,11}.html — clasificación oficial, título, texto original de la descripción, rango de versiones afectadas
  • GitHub Advisory API — clasificación de GitHub, CVSS, type, coordenadas Maven afectadas

El proceso de generación incluye 7 aserciones; si alguna no se cumple, se detiene y no escribe el archivo. Tres merecen mención aparte:

  • ASSERT7 (integridad del parseo): se vuelven a contar las entradas con un segundo criterio de expresión regular independiente y los dos conjuntos deben coincidir exactamente. El origen es un tipo muy sutil de desajuste: en la página oficial, algunos títulos contienen el enlace de otro CVE: <strong>Moderate: The fix for <a>CVE-2025-66614</a> was incomplete</strong> <a>CVE-2026-32990</a>. Buscar «el primer CVE» en todo el bloque puede tomar el número antiguo incrustado en el título; el resultado no es que falte una entrada, sino que se atribuye mal: un CVE hereda el título y la descripción de otro, mientras la generación, las pruebas y la re-verificación con artefactos reales superan todos los controles.
  • ASSERT3 (dirección del emparejamiento): en la página oficial, la línea Affects: está justo al lado del título de la siguiente CVE, por lo que es muy fácil emparejarla con la entrada equivocada: si falla, obtienes una tabla que «parece totalmente normal pero está desfasada una posición». Se cruza con first_patched_version de GitHub; durante el desarrollo de hecho se detectó una desviación así.
  • ASSERT6 (justificación de la exclusión): se descargan los jars reales de las líneas 9.0 / 10.1 / 11.0 y se confirma una a una que el código de las entradas excluidas (componentes de clúster, conector FFM, aplicaciones de ejemplo) realmente no está en tomcat-embed-*. La exclusión debe basarse en una comprobación real, no en «me acuerdo».

Para regenerar:

root@kitploit:~
python tools/gen_rules.py

Construcción

root@kitploit:~
mvn clean package     # → target/tomcat-check.jar

34 pruebas. Cero dependencias en tiempo de ejecución; JUnit solo en pruebas.

Licencia

MIT

Descargar herramienta
BaseExplotabilidad real con la configuración predeterminadaCálculo mecánico desde el vector, sin tener en cuenta si has activado esa función
Dónde verlotomcat.apache.org/security-9.htmlDependabot te lo envía directamente