Dublin AAI Security/Vulnerability Report

This table represents the known exploitable and non-exploitable vulnerabilities in third party packages used in the project.



Repository

Group

Impact Analysis

Action

Repository

Group

Impact Analysis

Action

  • aai/event-client

  • aai/champ

  • aai/router-core

  • aai/chameleon

com.fasterxml.jackson.core



False Positive - The application is vulnerable by using this component, when default typing is enabled. Message Router does not use the default typing, so using the jackson-databind will not make message router vulnerable.





  • aai/schema-service

com.fasterxml.jackson.org

AAI should attempt to upgrade this component.

AAI-2431: [schema-service] updgrade jackson-dataformat to eliminate nexusiq vulnerabilityClosed

  • aai/schema-service

  • aai/aai-data-router

  • aai/aai-common

  • aai/aai-resources

org.apache.tomcat.embed

A dependency of Spring boot 1.5.20.RELEASE, which is the most current version.  This is a false positive since the ONAP demo is not intended to run on Windows; for those clients who choose to deploy these services on Windows we recommend setting enableCmdLineArguments to false.



  • aai/schema-service

org.springframework

A dependency of an older version of the aai-common libraries. 

AAI-2419: [schema-service] Update aai-core and aai-schema-ingest to latest released aai-common versionClosed

  • aai/schema-service

  • aai/champ

  • aai/aai-common

  • aai/aai-resources

  • aai/aai-traversal

  • aai/graphadmin

  • aai/data-router

  • aai/esr-server

  • aai/event-client

  • aai/gallifrey

commons-codec

A child dependency of Janusgraph.  Plan is to upgrade to newer janusgraph, but even the latest version uses this component for which there is no non-vulnerable version.  AAI doesn't call the methods described in the CVE directly.



AAI-2420: Upgrade to newer JanusGraphClosed

  • aai/schema-service

  • aai/aai-common

  • aai/champ

  • aai/aai-resources

  • aai/aai-traversal

  • aai/graphadmin

  • aai/data-router

  • aai/router-core

  • aai/spike

  • aai/gizmo

  • aai/cacher

  • aai/search-data-service

  • aai/validation

  • aai/esr-server

  • aai/babel

  • aai/model-loader

org.eclipse.jetty

False positive. Our services do not allow listing of directory contents.



  • aai/schema-

  • aai/champ

  • service

  • aai/aai-common

  • aai/aai-resources

  • aai/aai-traversal

  • aai/graphadmin

  • aai/data-router

  • aai/router-core

  • aai/spike

  • aai/gizmo

  • aai/cacher

  • aai/search-data-service

  • aai/validation

  • aai/esr-server

  • aai/babel

  • aai/model-loader

org.eclipse.jetty

A dependency of Spring boot 1.5.20.RELEASE, which is the most current version.  This is a false positive since the ONAP demo is not intended to run on Windows; for those clients who choose to deploy these services on Windows we recommend to not use DefaultServlet or ResourceHandler providing directory content listings. 



  • aai/schema-service

  • aai/champ

  • aai/aai-common

  • aai/aai-resources

  • aai/aai-traversal

  • aai/graphadmin

  • aai/data-router

  • aai/router-core

  • aai/spike

  • aai/gizmo

  • aai/cacher

  • aai/search-data-service

  • aai/validation

  • aai/esr-server

  • aai/babel

  • aai/model-loader

org.eclipse.jetty

False positive. Our services do not allow listing of directory contents.



  • aai/graphadmin

  • aai/aai-resources

  • aai/aai-traversal

  • aai/validation

  • aai/data-router

  • aai-gizmo

  • aai/search-data-service

  • aai/sparky-be

  • aai/babel

  • aai/model-loader

  • aai/schema-service

  • aai/search-data-service

com.fasterxml.jackson.core

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the code base is not using either approach, so the possibility of the exploit vector does not apply.



  • aai/aai-common

  • aai/schema-service

com.fasterxml.jackson.core

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the code base is not using either approach, so the possibility of the exploit vector does not apply.



  • aai/aai-resources

  • aai/aai-traversal

  • aai/champ

  • aai/graphadmin

  • aai/schema-service

org.codehaus.jackson

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the resources code bases are not using either approach, so the possibility of the exploit vector does not apply.



AAI-900 -Security: CVE-2017-7525 jackson-mapper-asl 1.9.2CLOSED

  • aai/champ

org.codehaus.jackson

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the resources code bases are not using either approach, so the possibility of the exploit vector does not apply.





  • aai/aai-common

  • aai/cacher

org.codehaus.jackson

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the code base is not using either approach, so the possibility of the exploit vector does not apply.



  • aai/cacher

  • aai/gizmo

com.fasterxml.jackson.core

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the search service is not using either approach, so the possibility of the exploit vector does not apply.



  • aai/esr-server

com.fasterxml.jackson.core

False Positive

Explanation:

This vulnerability issue only exists if com.fasterxml.jackson.databind.ObjectMapper.setDefaultTyping() is called before it is used for deserialization.

esr-server doesn't invoke this method, esr-server use new Gson().fromJson(String json, Obj.class) and new Gson().toJson(obj) to deserialization and serialization.

https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization

In esr-server, Gson is used to deserialization and serialization:

https://gerrit.onap.org/r/gitweb?p=aai/esr-server.git;a=blob;f=esr-mgr/src/main/java/org/onap/aai/esr/wrapper/EmsManagerWrapper.java;h=588baad96c7942e83e0670784bbf423505c7b194;hb=HEAD

https://gerrit.onap.org/r/gitweb?p=aai/esr-server.git;a=blob;f=esr-mgr/src/main/java/org/onap/aai/esr/wrapper/ThirdpartySdncWrapper.java;h=874205920c156f12df0bc591638a24e3f5575c76;hb=HEAD

https://gerrit.onap.org/r/gitweb?p=aai/esr-server.git;a=blob;f=esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VimManagerWrapper.java;h=fe44536cecb3f9ae9eaa3d99ff7b2d52511e2d52;hb=HEAD

https://gerrit.onap.org/r/gitweb?p=aai/esr-server.git;a=blob;f=esr-mgr/src/main/java/org/onap/aai/esr/wrapper/VnfmManagerWrapper.java;h=8c7c5d39ceadff5e17f9c6d26d5540be49ada070;hb=HEAD

https://gerrit.onap.org/r/gitweb?p=aai/esr-server.git;a=blob;f=esr-mgr/src/main/java/org/onap/aai/esr/util/ExtsysUtil.java;h=3bd01772356055e9711705b8518d55f1678b5179;hb=HEAD



  • aai/aai-common

  • aai/graphadmin

  • aai/schema-service

org.apache.activemq

Issue is a false positive.

This vulnerability is dependent on XalanXPathEvaluator.java using an insecure or absent document parser. AAI is not using this class.

AAI-1931: Update to activemq-broker 5.15.8Closed

  • aai/schema-service

org.apache.activemq

Users should make sure the environment is secure to prevent possible MITM attacks between AAI and other ONAP services in the k8 cluster

AAI-2442: Upgrade activemq dependencies to newer versionClosed

  • aai/aai-resources

  • aai/aai-traversal

  • aai/cacher

org.apache.activemq

Issue is a false positive.

This vulnerability is dependent on XalanXPathEvaluator.java using an insecure or absent document parser. AAI is not using this class.



  • aai/aai-esr-gui

org.webjars.npm bootstrap

False positive. The data-target attribute in bootstrap.js interprets encoded HTML entities as standard HTML entities when data-target is based on user supplied input. data-target attribute is not used

Helpdesk ticket 54851

  • aai/aai-esr-gui

org.webjars.npm bootstrap

False positive. The show()function in the tooltip.js file allows HTML and scripts in the data-container tooltip attribute values in the DOM elements without proper sanitization. The show() function is not used



  • aai/aai-common

  • aai/aai-resources

  • aai/aai-traversal

  • aai/graphadmin

  • aai/schema-service

com.google.guava

This dependency is a child dependency of Cassandra which is required for the graphdb; newer versions of Cassandra do not upgrade to a non-vulnerable version of this depedency. Guava is vulnerable to Denial of Service (DoS) when untrusted input is supplied to the AtomicDoubleArray and CompoundOrdering classes - AAI doesn't depend on guava to do this anywhere. Non-vulnerable versions of guava are not backward compatible with the version used by Cassandra



aai/data-router

com.google.guava

This dependency is a child dependency of Cassandra which is required for the graphdb; newer versions of Cassandra do not upgrade to a non-vulnerable version of this depedency. Guava is vulnerable to Denial of Service (DoS) when untrusted input is supplied to the AtomicDoubleArray and CompoundOrdering classes - AAI doesn't depend on guava to do this anywhere. Non-vulnerable versions of guava are not backward compatible with the version used by Cassandra



aai/search-data-service

com.google.guava

A dependency of a child dependency, json-schema-validator. Even the latest version of json-schema-validator does not have the required fix version for the above components.



aai/search-data-service

com.googlecode.libphonenumber

A dependency of a child dependency, json-schema-validator. Even the latest version of json-schema-validator does not have the required fix version for the above components. AAI is not vulnerable to this issue in the dependency, it does not use the component in the way described.



aai/search-data-service

javax.mail

A dependency of a child dependency, json-schema-validator. Even the latest version of json-schema-validator does not have the required fix version for the above components. AAI is not vulnerable to this issue in the dependency, it does not use the component in the way described.



aai/search-data-service

org.springframework.security

Search data service is not vulnerable to the exploit vectors because it does not perform the functions outlined in the report.

switchUserProcessingFilter is not configured

AAI-1895: [search-data-service] Update springboot to 1.5.18 in search-data-serviceClosed

aai/esr-server

 com.smoketurner.dropwizard

False Positive.

The exploit primarily is about enabling polymorphic type handling with the object mapper and writing class specifics into the JSON object.  There are two ways of doing this:



  1. ObjectMapper.enableDefaultTyping()

  2. @JsonTypeInfo for marshalling / unmarshalling an object



By default the ObjectMapper does not enableDefaultTyping, the code base is not using either approach, so the possibility of the exploit vector does not apply.

AAI-1970: [esr-server] Remove zipkin-exampleClosed

  • aai/event-client

  • aai/gizmo

  • aai/spike

  • aai/data-router

  • aai/router-core

  • aai/schema-service

com.rabbitmq

False positive. Event client in ONAP only uses DMaaP so the rabbitmq dependencies are never used.

AAI-1905: [event-client] Security - com.rabbitmq has vulnerabilitiesClosed

  • aai/esr-gui

org.apache.tomcat

ESR GUI is vulnerable. Implementors should secure the system to prevent exploits.



AAI-1967: [esr-gui] update Apache tomcatClosed

  • aai/esr-gui

org.apache.tomcat

ESR GUI is vulnerable. Implementors should secure the system to prevent exploits.



  • aai/esr-gui

org.apache.tomcat

ESR GUI is vulnerable. Implementors should secure the system to prevent exploits.



  • aai/esr-gui

bootstrap

ESR GUI is vulnerable. Implementors should secure the system to prevent exploits.





  • aai/esr-gui

jquery

ESR GUI is vulnerable. Implementors should secure the system to prevent exploits.

AAI-2347: [esr-gui] security: Update jquery from 1.11.0Closed

  • aai/champ

  • aai/graphadmin

  • aai/aai-resources

  • aai/aai-traversal

  • aai/schema-service

org.apache.libthrift

False positive. This version of ilbthrift is a dependency of titan/cassandra and janus/cassandra. Users should take note of this if they decide to enable SASL, but we do not ship it with the demo.

AAI-2186: Add release note about SASL and libthriftClosed

  • aai/champ

org.apache.zookeeper

False positive for ONAP as deployed. AAI is deployed with Janus on Cassandra, if users implement champ and choose hbase they should take steps to disable client-initiated renegotiation https://github.com/apache/zookeeper/pull/710

AAI-2189: [champ] upgrade to latest hbase-clientClosed

  • aai/aai-common

  • aai/spike

  • aai/search-data-service

  • aai/validation

ch.qos.logback

EELF dependency, upgrade to 1.0.1-oss

AAI-2240: [aai-common] security: upgrade eelf to 1.0.1-ossClosed

AAI-2251: [spike] security: upgrade eelf to 1.0.1-ossClosed

AAI-2345: [spike] security: Update to aai-common 1.4.2 once releasedClosed

https://lf-onap.atlassian.net/browse/AAI-2346

aai/router-core



org.eclipse.jetty

Tried to upgrade jetty; at the time in the nexusiq report this looked clean but evidently it's not. In any event, this is a false positive, the application doesn't use this component in the application server; these utils are only used locally.

https://lf-onap.atlassian.net/browse/AAI-2246

aai/sparky-be

commons-fileupload

Part of portal sdk 2.5.0

https://lf-onap.atlassian.net/browse/AAI-2250

aai/sparky-be

org.owasp.antisamy

Part of portal sdk 2.5.0

https://lf-onap.atlassian.net/browse/AAI-2250

aai/sparky-be

org.owasp.esapi

Part of portal sdk 2.5.0

https://lf-onap.atlassian.net/browse/AAI-2250

  • aai/chameleon

  • aai/gallifrey

commons-fileupload

Imported by ring; investigating whether there is an upgrade available. Chameleon could be vulnerable to denial of service exploit and implementors should secure the system to prevent it.

https://lf-onap.atlassian.net/browse/AAI-1903

aai/gallifrey

io.netty

Consider upgrading. From CT Paterson: "The netty dependency is pulled in from RethinkDB.  We're currently testing an update to gallifrey that will move to Cassandra as a storage backend and drop RethinkDB support.  This should resolve the issue."

https://lf-onap.atlassian.net/browse/AAI-2256

aai/esr-server

com.fasterxml.jackson.datatype

ESR is vulnerable. Implementors should secure the system to prevent DDOS attacks.

https://lf-onap.atlassian.net/browse/AAI-2258

aai/esr-server

org.eclipse.jetty

ESR is vulnerable. Implementors should secure the system to prevent DDOS attacks.



aai/router-core

ch.qos.logback

Update to latest aai-common

https://lf-onap.atlassian.net/browse/AAI-2344

aai/champ

io.netty

AAI is not configured with hbase in the demo so this is not applicable. Operators who use champ and configure hbase should use care on this item.



  • aai/data-router

  • aai/aai-common

  • aai/router-core

org.apache.tomcat.embed

Update to spring-boot 1.5.20 is the right path, but we cannot since 1.5.20 doesn't support 2-way TLS the way it is done in ONAP

https://lf-onap.atlassian.net/browse/AAI-2421

  • aai/data-router

  • aai/router-core

  • aai/sparky-be

org.apache.camel

False positive.  createFileName() is never used



  • aai/data-router

org.apache.cxf

False postiive.  in data-router, java.protocol.handler.pkgs system property is not set to com.sun.net.ssl.internal.www.protocol. 



  • aai/search-data-service

org.springframework.security

Upgrade spring-security 

https://lf-onap.atlassian.net/browse/AAI-2443

  • aai/esr-server

com.squareup.okhttp3

Disputed vulnerability, but users should make sure that MITM attacks are mitigated in their systems