security.snyk.io
Open in
urlscan Pro
2a02:26f0:3500:880::ecd
Public Scan
Submitted URL: https://email.snyk.io/c/eJyUkM2O2jAUhZ_G3lSO7IuxnYUXaSBSoUBFKtour39SIpIQhcCItx_BIBasZrb2Obrf-Ty2Pdb_O0v0dwLQYRsJAJlkBO...
Effective URL: https://security.snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056420
Submission: On August 01 via manual from IN — Scanned from DE
Effective URL: https://security.snyk.io/vuln/SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056420
Submission: On August 01 via manual from IN — Scanned from DE
Form analysis
0 forms found in the DOMText Content
Developer Tools * Snyk Learn * Snyk Advisor * Code Checker About Snyk 1. Snyk Vulnerability Database 2. Maven 3. com.fasterxml.jackson.core:jackson-databind DESERIALIZATION OF UNTRUSTED DATA AFFECTING COM.FASTERXML.JACKSON.CORE:JACKSON-DATABIND PACKAGE, VERSIONS [,2.9.10.8) -------------------------------------------------------------------------------- SEVERITY Recommended 8.1 high 0 10 CVSS ASSESSMENT MADE BY SNYK'S SECURITY TEAM Learn more THREAT INTELLIGENCE Exploit Maturity Proof of concept EPSS 0.36% (73rd percentile) Do your applications use this vulnerable package? In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes. Test your applications Snyk Learn Learn about Deserialization of Untrusted Data vulnerabilities in an interactive lesson. Start learning * Snyk ID SNYK-JAVA-COMFASTERXMLJACKSONCORE-1056420 * published 7 Jan 2021 * disclosed 7 Jan 2021 * credit Unknown Report a new vulnerability Found a mistake? INTRODUCED: 7 JAN 2021 CVE-2020-36179 Open this link in a new tab CWE-502 Open this link in a new tab Share HOW TO FIX? Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.9.10.8 or higher. OVERVIEW com.fasterxml.jackson.core:jackson-databind is a library which contains the general-purpose data-binding functionality and tree-model for Jackson Data Processor. Affected versions of this package are vulnerable to Deserialization of Untrusted Data. The package mishandles the interaction between serialization gadgets and typing, related to oadd.org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS. DETAILS Serialization is a process of converting an object into a sequence of bytes which can be persisted to a disk or database or can be sent through streams. The reverse process of creating objects from a sequence of bytes is called deserialization. Deserialization of untrusted data (CWE-502) occurs when an application deserializes untrusted data without sufficiently verifying that the resulting data will be valid, allowing the attacker to control the state or the flow of the execution. com.fasterxml.jackson.core:jackson-databind allows deserialization of JSON input to Java objects. If an application using this dependency has the ability to deserialize a JSON string from an untrusted source, an attacker could leverage this vulnerability to conduct deserialization attacks. Exploitation of unsafe deserialization attacks through jackson-databind requires the following prerequisites: 1. THE TARGET APPLICATION ALLOWING JSON USER INPUT WHICH IS PROCESSED BY JACKSON-DATABIND An application using jackson-databind is only vulnerable if a user-provided JSON data is deserialized. 2. POLYMORPHIC TYPE HANDLING FOR PROPERTIES WITH NOMINAL TYPE ARE ENABLED Polymorphic type handling refers to the addition of enough type information so that the deserializer can instantiate the appropriate subtype of a value. Use of "default typing" is considered dangerous due to the possibility of an untrusted method (gadget) managing to specify a class that is accessible through the class-loader and therefore, exposing a set of methods and/or fields. 3. AN EXPLOITABLE GADGET CLASS IS AVAILABLE FOR THE ATTACKER TO LEVERAGE Gadget chains are specially crafted method sequences that can be created by an attacker in order to change the flow of code execution. These gadgets are often methods introduced by third-party components which an attacker could utilise in order to attack the target application. Not every gadget out there is supported by jackson-databind. The maintainers of jackson-databind proactively blacklists possible serialization gadgets in an attempt to ensure that it is not possible for an attacker to chain gadgets during serialization. FURTHER READING: * On Jackson CVEs: Don’t Panic on Medium * NCC Group Jackson Deserialization WhitePaper * Java Security Best Practices REFERENCES * Al1ex's Poc * GitHub Issue * Medium Article CVSS SCORES version 3.1 Expand this section SNYK 8.1 high * Attack Vector (AV) Network * Attack Complexity (AC) High * Privileges Required (PR) None * User Interaction (UI) None * Scope (S) Unchanged * Confidentiality (C) High * Integrity (I) High * Availability (A) High Expand this section NVD 8.1 high Expand this section RED HAT 8.1 high PRODUCT * Snyk Open Source * Snyk Code * Snyk Container * Snyk Infrastructure as Code * Test with Github * Test with CLI RESOURCES * Vulnerability DB * Documentation * Disclosed Vulnerabilities * Blog * FAQs COMPANY * About * Jobs * Contact * Policies * Do Not Sell My Personal Information CONTACT US * Support * Report a new vuln * Press Kit * Events FIND US ONLINE * * * * TRACK OUR DEVELOPMENT * * © 2024 Snyk Limited Registered in England and Wales. Company number: 09677925 Registered address: Highlands House, Basingstoke Road, Spencers Wood, Reading, Berkshire, RG7 1NT.