This template is intended to be used to document the outcome of the impact analysis related to the known vulnerability reported by Nexus-IQ (CLM tab in Jenkins). Nexus-IQ can identify the known vulnerabilities contained in the components use by onap components.
This table will be presented to TSC at Code Freeze milestone (M4) to the TSC.
It is recommended to first update to the latest version of the third party components available. In case the latest third party components still reports some vulnerabilities, you must provide an impact analysis as illustrated in the example below.
In the case where you have nested third party components (a third party component embedding another third party component) and there is NO CVE number for the upstream third party component (meaning the third party component you are embedding), it is recommended to open a vulnerability issue on the upstream third party component.
Tip | ||
---|---|---|
| ||
Please make a Copy of this template into your project wiki space. Be sure to make a Copy (not a Move) by using the ... on the top right corner of this page Within the M4 checklist create a link toward your copy of this template Once this template has been copied into your project wiki space, you can delete this "Tip" section as well as the "Sample of CLM Report" screenshot. This screenshot is just an example. |
The following table is addressing 2 different scenarios:
- Confirmation of a vulnerability including an action
- False Positive
The information related to Repository, Group, Artifact, Version and Problem Code are extracted from the CLM report (see the below screenshot)
...
org.codehaus.jackson
...
table represents the known exploitable and non-exploitable vulnerabilities in third party packages used in the project.
Repository | Group | Impact Analysis | Action |
---|---|---|---|
appc | org.codehaus.jackson | There is no non vulnerable version of this component. False Positive Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization. appc doesn't invoke this method, and a concrete java type is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc. https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization This is a dependency indirectly from jackson-jaxrs. We do not use Jackson-mapper-asl directly and do not use createBeanDeserializer() function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code. | No Action Required |
appc | org.codehaus.jackson | There is no non vulnerable version of this component. False Positive Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization. appc doesn't invoke this method, and a concrete java type is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc. https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization This is a dependency indirectly from |
jersey- |
json. We do not use Jackson-mapper-asl directly and do not use createBeanDeserializer() function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code. | No Action Required |
appc |
com. |
fasterxml.jackson.core | There is no non vulnerable version of this component. False Positive Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization. appc doesn't invoke this method, and a concrete java type |
is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc. https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization |
This is a dependency indirectly from jersey-json. We do not use Jackson-mapper-asl directly and do not use createBeanDeserializer() function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code.
No Action appc codes does not useappc codes does not use ObjectMapper.setDefaultTyping() | No Action Required | |
appc | com.fasterxml.jackson.core | There is no non vulnerable version of this component. False Positive Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization. appc doesn't invoke this method, and a concrete java type is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc. https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization |
No Action Required | ||
appc | com.fasterxml.jackson.core | There is no non vulnerable version of this component. False Postive Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() |
There is no non vulnerable version of this component.
False Positive
Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization.
appc doesn't invoke this method, and a concrete java type is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc.
https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization
com.fasterxml.jackson.core
There is no non vulnerable version of this component.
False Postive
Explaination: This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization.
appc doesn't invoke this method, and a concrete java type is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc.
https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization
appc codes does not use ObjectMapper.setDefaultTyping()
https://gerrit.onap.org/r/gitweb?is called before it is used for deserialization. appc doesn't invoke this method, and a concrete java type is explicitly specified when deserializing the JSON objects, so this vulnerability issue has no impact on appc. https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization appc codes does not use ObjectMapper.setDefaultTyping() https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-config/appc-config- |
org.onap.dmaap.messagerouter.dmaapclient has the 5 security vulnerabilities , out of these 4 security issues are related to the com.att.nsa:dmaapclient and another is related to the Jackson-core.jar, which we can’t fix as all the versions are vulnerable. DMaaP client is not using the jackson-core.jar, in such a way that it will cause the vulnerability. a ticket #54030 with the LF by dmaap team. Please refer the following link for more details.
Dmaap Security/Vulnerability - BeijingJira Legacy | ||||||
---|---|---|---|---|---|---|
|
False Positive
Explanation
The Apache httpcomponents component is vulnerable to Directory Traversal. The normalizePath()
function in the URIBuilder
class allows directory traversal characters such as ../
. An attacker can exploit this vulnerability by sending a specially crafted request containing this sequence in the URL path, allowing the attacker to traverse beyond the allowed directory and retrieve the contents of arbitrary files from the server, leading to information disclosure.
We do not use normalizePath()
function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code. and this is indirect from org.onap.ccsdk.sli.core:dblib-provider:jar:0.3.0-SNAPSHOT
com.fasterxml.jackson.core
False Positive
Explanation
jackson-core
is vulnerable to Denial of Service (DoS). The _reportInvalidToken()
function in the UTF8StreamJsonParser
and ReaderBasedJsonParser
classes allows large amounts of extraneous data to be printed to the server log. An attacker can exploit this vulnerability by crafting a POST request containing large amounts of data. When the data contains invalid JSON, an exception is thrown, which results in the consumption of available disk space when the error message is written to server.log
along with the request data.
appc doesn't use UTF8StreamJsonParser
and ReaderBasedJsonParser
classes
https://github.com/FasterXML/jackson-core/pull/322
appc codes using JsonParser/JasonProcessingExection/type.TypeReference:
https://gerrit.onap.org/r/gitwebNo Action Required | |||||||||||
appc | com.att.nsa | org.onap.dmaap.messagerouter.dmaapclient has the 5 security vulnerabilities , out of these 4 security issues are related to the com.att.nsa:dmaapclient and another is related to the Jackson-core.jar, which we can’t fix as all the versions are vulnerable. DMaaP client is not using the jackson-core.jar, in such a way that it will cause the vulnerability. a ticket #54030 with the LF by dmaap team. Please refer the following link for more details. |
| ||||||||
appc | org.apache.karaf.shell | It comes with org.onap.ccsdk.sli.core:dblib-provider:jar, org.opendaylight.controller:opendaylight-karaf-empty Apache karaf is vulnerable to | *request CCSDK and OpenDayLight to fix | ||||||||
appc | org.apache.karaf.jaas | False Positive Explanation The Apache httpcomponents component is vulnerable to Directory Traversal. The We do not use | No Action Required | ||||||||
appc | com.fasterxml.jackson.core | False Positive Explanation
appc doesn't use https://github.com/FasterXML/jackson-core/pull/322 appc codes using JsonParser/JasonProcessingExection/type.TypeReference: |
False Positive
Explanation
The Apache httpcomponents component is vulnerable to Directory Traversal. The normalizePath()
function in the URIBuilder
class allows directory traversal characters such as ../
. An attacker can exploit this vulnerability by sending a specially crafted request containing this sequence in the URL path, allowing the attacker to traverse beyond the allowed directory and retrieve the contents of arbitrary files from the server, leading to information disclosure.
Detection
The application is vulnerable by using this component.
Recommendation
We do not use normalizePath()
function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code.This is indirect from org.onap.ccsdk.sli.adaptors:aai-service-provider:jar:0.3.0-SNAPSHOT
False Positive
Explanation
The Apache httpcomponents component is vulnerable to Directory Traversal. The normalizePath()
function in the URIBuilder
class allows directory traversal characters such as ../
. An attacker can exploit this vulnerability by sending a specially crafted request containing this sequence in the URL path, allowing the attacker to traverse beyond the allowed directory and retrieve the contents of arbitrary files from the server, leading to information disclosure.
Detection
The application is vulnerable by using this component.
We investigated from mvn tree output. Found out this jar only included in test purpose. Please see the tree dependency below:
org.apache.maven.wagon:wagon-http:jar:2.10:test
[INFO] | +- org.opendaylight.odlparent:karaf-util:jar:3.1.3:test
[INFO] | | \- org.apache.maven.wagon:wagon-http:jar:2.10:test
[INFO] | | +- org.apache.maven.wagon:wagon-http-shared:jar:2.10:test
[INFO] | | | +- org.jsoup:jsoup:jar:1.7.2:test
[INFO] | | | \- commons-lang:commons-lang:jar:2.6:test
[INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.3.5:test
[INFO] | | | \- commons-codec:commons-codec:jar:1.11:test
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.3.2:test
[INFO] | | \- org.apache.maven.wagon:wagon-provider-api:jar:2.10:test
[INFO] | | \- org.codehaus.plexus:plexus-utils:jar:3.0.15:test
False Positive
Library not used by APPC code directly, but is contains in cdp-pal library.
The dependency comes from cdp-pal; however, this should not be a security concern as CDP-PAL/woorea does not host any urls for incoming GET requests and from what we read about the vulnerability it should not apply as grizzly-http is only used for outgoing calls. It is not used to allow incoming get requests.
Will follow-up with CDP-PAL to see if the version can be updated even though not a risk for APPC.
appc/cdt
No action required | |||
appc | org.apache.httpcomponents | Explanation The Apache httpcomponents component is vulnerable to Directory Traversal. The Detection The application is vulnerable by using this component. We do not use This is indirect from org.onap.ccsdk.sli.adaptors:aai-service-provider:jar:0.3.0-SNAPSHOT | *request CCSDK (CCSDK may depend on OpenDayLight) to fix |
appc | org.apache.httpcomponents | False Positive Explanation The Apache httpcomponents component is vulnerable to Directory Traversal. The Detection The application is vulnerable by using this component. We investigated from mvn tree output. Found out this jar only included in test purpose. Please see the tree dependency below: org.apache.maven.wagon:wagon-http:jar:2.10:test [INFO] | +- org.opendaylight.odlparent:karaf-util:jar:3.1.3:test [INFO] | | \- org.apache.maven.wagon:wagon-http:jar:2.10:test [INFO] | | +- org.apache.maven.wagon:wagon-http-shared:jar:2.10:test [INFO] | | | +- org.jsoup:jsoup:jar:1.7.2:test [INFO] | | | \- commons-lang:commons-lang:jar:2.6:test [INFO] | | +- org.apache.httpcomponents:httpclient:jar:4.3.5:test [INFO] | | | \- commons-codec:commons-codec:jar:1.11:test [INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.3.2:test [INFO] | | \- org.apache.maven.wagon:wagon-provider-api:jar:2.10:test [INFO] | | \- org.codehaus.plexus:plexus-utils:jar:3.0.15:test | No action required |
appc | org.glassfish.grizzly | False Positive Library not used by APPC code directly, but is contains in cdp-pal library. The dependency comes from cdp-pal; however, this should not be a security concern as CDP-PAL/woorea does not host any urls for incoming GET requests and from what we read about the vulnerability it should not apply as grizzly-http is only used for outgoing calls. It is not used to allow incoming get requests. | **request CDP-PAL to fix |
appc | dom4j | False Positve The However QName.Qname class not used by APPC code. Appc code only uses QName.localName | No action required |
appc | com.google.guava | this package comes with org.opendaylight.controller:sal-binding-api:jar:1.6.1, org.opendaylight.mdsal:mdsal-binding-api:jar:2.3.1 , org.onap.ccsdk.sli.core:dblib-provider:jar:0.2.3, org.opendaylight.controller:sal-binding-api:jar:1.6.1, org.opendaylight.odlparent:features-test:jar:2.0.5 | Need to follow up will CCSDK and OpenDayLight community |
appc | com.h2database | False Positive only occurred in appc-test-dependencies. This APPC: appc-test-dependencies package is only used during junit/mockito test. | No action required |
appc | com.jcraft | False Postive library is contained in cdp-pal libraary. ONAP is not using Windows envrionment. | No action required |
appc | javax.mail | this package comes with org.opendaylight.controller:config-persister-directory-xml-adapter:jar:0.8.3 | *request OpenDayLight to fix |
appc | com.sun.mail | False Positve this package comes with javax:javaee-api:jar:7.0 JavaMail is vulnerable to Information Exposure. The However | No action required |
appc | io.netty | False Positive this package comes with com.datastax.cassandra:cassandra-driver-core:jar:3.0.8 The The application is vulnerable by using the OpenSsl class and the setSSLParameters() method in the ReferenceCountedOpenSslEngine class is not used by APPC code. | No action required |
appc/cdt | com.fasterxml.jackson.core | False Positive Explanation
Detection The application is vulnerable by using this component, when default typing is enabled and passing in untrusted data to be deserialization. appc codes below does not use | No action required |
appc/deployment | com.fasterxml.jackson.core | False Positive Explanation
|
createBeanDeserializer()
function in the BeanDeserializerFactory
class allows untrusted Java objects to be deserialized. A remote attacker can exploit this by uploading a malicious serialized object that will result in RCE if the application attempts to deserialize it.Note: This vulnerability exists due to the incomplete fix for CVE-2017-7525, CVE-2017-15095, CVE-2017-17485, CVE-2018-5968, and CVE-2018-7489. Evidence of this can be found at https://pivotal.io/security/cve-2017-4995:
Jackson provides a blacklisting approach to protecting against this type of attack, but Spring Security should be proactive against blocking unknown “deserialization gadgets” when Spring Security enables default typing Detection The application is vulnerable by using this component, when default typing is enabled and passing in untrusted data to be deserialization. appc codes below does not use | No action |
required | ||
appc/deployment | com.github.fonimus | False Positive Explanation
Note: This vulnerability exists due to the incomplete fix for CVE-2017-7525, CVE-2017-15095, CVE-2017-17485, CVE-2018-5968, and CVE-2018 |
appc codes below does not use createBeanDeserializer()
-7489. Evidence of this can be found at https://pivotal.io/security/cve-2017-4995: appc codes below does not use | No action required | ||
appc/deployment | commons-beansutils | This pacakge comes from aaf-shiro-aafrealm-osgi-bundle.jar | AAF addresses: AAF R3 Casablanca Security/Vulnerability Threat |
appc/deployment | org.apache.shiro | This package comes from aaf-shiro-aafrealm-osgi-bundle.jar | AAF addresses: AAF R3 (Casablanca) Security/Vulnerability Threat |
appc/deployment | com.google.guava | This pacakge comes from org.opendaylight.mdsal:yang-binding:jar:0.10.1 | *request OpenDayLight to fix |