APPC Beijing Security/Vulnerability Threat

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.

Usage

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)

Repository

Group

Impact Analysis

Action

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

appc codes using ObjectMapper:

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-dg/appc-dg-shared/appc-dg-dependency-model/src/main/java/org/onap/appc/dg/dependencymanager/helper/DependencyModelParser.java;h=11bff0237ce42af835d0afe752c6af0785182bb4;hb=15f4f0fa7c142be425f39647461c438d0e68103f



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() 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 using ObjectMapper:

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-common/src/main/java/org/onap/appc/util/JsonUtil.java;h=7e6f5ef8d000bd2037cb7405f43dc1eb0cebda50;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-adapters/appc-dmaap-adapter/appc-message-adapter-api/src/main/java/org/onap/appc/adapter/message/event/EventMessage.java;h=d64d6d0cebd1728ef9a974eb802f704b9ab256c7;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/LCM/conv/Converter.java;h=6e303a5ff2cbb1269cca6a8dae8ccef4ca124d9b;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/util/Mapper.java;h=bd77041ecef1b4978cd09013070920d73eb612d1;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-config/appc-config-params/provider/src/main/java/org/onap/sdnc/config/params/parser/PropertyDefinitionNode.java;h=a9707b6a2d73776bcc52a31c76a03dd90f5b89e6;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-config/appc-config-params/provider/src/main/java/org/onap/sdnc/config/params/transformer/ArtificatTransformer.java;h=4ac4fbb9f9d11fe43397d843249c2b16f0ee3722;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-config/appc-config-params/provider/src/main/java/org/onap/sdnc/config/params/transformer/tosca/ArtifactProcessorImpl.java;h=f5dd7b6dbc00b6f6e33a03b37a89b2f87f403d6a;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-config/appc-data-services/provider/src/main/java/org/onap/appc/data/services/node/ConfigResourceNode.java;h=856648210d87d5e8a7b79b7a830dba38da89c55b;hb=15f4f0fa7c142be425f39647461c438d0e68103f

https://gerrit.onap.org/r/gitweb?p=appc.git;a=tree;f=appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node;h=68460c525de553dff2f626cccb1c4de48b9b6b5f;hb=15f4f0fa7c142be425f39647461c438d0e68103f

No Action Required

appc

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/gitweb?p=appc.git;a=blob;f=appc-common/src/main/java/org/onap/appc/util/JsonUtil.java;h=7e6f5ef8d000bd2037cb7405f43dc1eb0cebda50;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=tree;f=appc-config/appc-flow-controller/provider/src/main/java/org/onap/appc/flow/controller/node;h=68460c525de553dff2f626cccb1c4de48b9b6b5f;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-dg/appc-dg-shared/appc-dg-mdsal-store/appc-dg-mdsal-bundle/src/main/java/org/onap/appc/mdsal/impl/MDSALStoreImpl.java;h=fcd315bf6be4f8756c13b1663f8424d57c9d7e81;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-dg/appc-dg-shared/appc-dg-netconf/src/main/java/org/onap/appc/dg/netconf/impl/NetconfDBPluginImpl.java;h=459ece9c1ead17a579895e344b15116e5bb1661a;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-dg/appc-dg-shared/appc-dg-ssh/src/main/java/org/onap/appc/dg/ssh/impl/SshDBPluginImpl.java;h=c3dfc61d6930120a22eb2f566b33cdbb683e40a0;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-dispatcher/appc-request-handler/appc-request-handler-core/src/main/java/org/onap/appc/messageadapter/impl/MessageAdapterImpl.java;h=ecc7f729c76fa85d034e4def5cbf690543c6bcbb;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-dispatcher/appc-request-handler/appc-request-handler-core/src/main/java/org/onap/appc/requesthandler/conv/Converter.java;h=5aac95a42bc230c5c7b7ea2fbbbf142bf0ea2df3;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/LCM/conv/Converter.java;h=6e303a5ff2cbb1269cca6a8dae8ccef4ca124d9b;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-event-listener/appc-event-listener-bundle/src/main/java/org/onap/appc/listener/LCM/impl/WorkerImpl.java;h=acf6d8bccc2dceeca918429e047c05bc441498b1;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-inbound/appc-design-services/provider/src/main/java/org/onap/appc/design/dbervices/DesignDBService.java;h=83ef0f914873e21bfd6648e6d593b7a00fb5b10e;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-inbound/appc-design-services/provider/src/main/java/org/onap/appc/design/validator/ValidatorService.java;h=7ba518d212cf9176294850c44b9fb0ac180c5248;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-oam/appc-oam-bundle/src/main/java/org/onap/appc/oam/messageadapter/Converter.java;h=152ffc9ccc20fd4aa464f24ab58ae8715fdb7d8f;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-oam/appc-oam-bundle/src/main/java/org/onap/appc/oam/messageadapter/MessageAdapter.java;h=91836cb406fd305588bc1a4d32e1a98964e4ddda;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-sdc-listener/appc-sdc-listener-bundle/src/main/java/org/onap/appc/sdc/artifacts/helper/DependencyModelGenerator.java;h=62212d74ca2aab916281cd763783c1666a9d07ec;hb=117c7e7210f00da7011275be4347aae8d500002a

https://gerrit.onap.org/r/gitweb?p=appc.git;a=blob;f=appc-sequence-generator/appc-sequence-generator-bundle/src/main/java/org/onap/appc/seqgen/dgplugin/impl/SequenceGeneratorPluginImpl.java;h=f99ca4cfb0ef3cea75074e19a0da89c55de6d6c3;hb=117c7e7210f00da7011275be4347aae8d500002a

No action required

appc

org.apache.karaf.jaas

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.

This is a dependency indirectly from odl. We do not use normalizePath() function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code.

The following JIRA is tracking this issue:



APPC-710: Nexus IQ Issue: karaf.jaas.module:4.0.10Closed

No action required

appc

org.apache.httpcomponents

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

This is a dependency indirectly from odl. We do not use normalizePath() function which has the vulnerability. We were unable to find any reference to this Vulnerability from appc code.

The following JIRA is tracking this issue:

APPC-702: Nexus IQ Issue: apache:httpclient:4.5.2Closed

Ultimately update must come from OpenDaylight project; APPC would pick it up when CCSDK picks it up.

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.



Will follow-up with CDP-PAL to see if the version can be updated even though not a risk for APPC.



appc

com.fasterxml.jackson.core

False Positive

Please read the item above for artifact: jackson-databind-2.8.1, which is the same group: com.fasterxml.jackson.core

No action required