Security Vulnerability Disclosure

Apache NiFi welcomes the responsible reporting of security vulnerabilities. The NiFi team believes that working with skilled security researchers across the globe is crucial in identifying weaknesses in any technology. If you believe you've found a security issue in our product or service, we encourage you to notify us. We will work with you to resolve the issue promptly.

Disclosure Policy

Exclusions

While researching, we'd like to ask you to refrain from:

Reporting Methods

NiFi accepts reports in multiple ways:

Thank you for helping keep Apache NiFi and our users safe!

Fixed in Apache NiFi 1.6.0

CVE-2018-1309: Apache NiFi External XML Entity issue in SplitXML processor

Severity: Moderate

Versions Affected:

Description: Malicious XML content could cause information disclosure or remote code execution.

Mitigation: The fix to disable external general entity parsing and disallow doctype declarations was applied on the Apache NiFi 1.6.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by 圆珠笔.

CVE Link: Mitre Database: CVE-2018-1309

Released: April 8, 2018

CVE-2018-1310: Apache NiFi JMS Deserialization issue because of ActiveMQ client vulnerability

Severity: Moderate

Versions Affected:

Description: Malicious JMS content could cause denial of service. See ActiveMQ CVE-2015-5254 announcement for more information.

Mitigation: The fix to upgrade the activemq-client library to 5.15.3 was applied on the Apache NiFi 1.6.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by 圆珠笔.

CVE Link: Mitre Database: CVE-2018-1310

Released: April 8, 2018

CVE-2017-8028: Apache NiFi LDAP TLS issue because of Spring Security LDAP vulnerability

Severity: Severe

Versions Affected:

Description: Spring Security LDAP library was not enforcing credential authentication after TLS handshake negotiation. See NVD CVE-2017-8028 disclosure for more information.

Mitigation: The fix to upgrade the spring-ldap library to 2.3.2.RELEASE+ was applied on the Apache NiFi 1.6.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Matthew Elder.

CVE Link: Mitre Database: CVE-2017-8028

Released: April 8, 2018

CVE-2018-1324: Apache NiFi Denial of service issue because of commons-compress vulnerability

Severity: Low

Versions Affected:

Description: A vulnerability in the commons-compress library could cause denial of service. See commons-compress CVE-2018-1324 announcement for more information.

Mitigation: The fix to upgrade the commons-compress library to 1.16.1 was applied on the Apache NiFi 1.6.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Joe Witt.

CVE Link: Mitre Database: CVE-2018-1324

Released: April 8, 2018

Fixed in Apache NiFi 1.5.0

CVE-2017-12632: Apache NiFi host header poisoning issue

Severity: Moderate

Versions Affected:

Description: A malicious host header in an incoming HTTP request could cause NiFi to load resources from an external server.

Mitigation: The fix to sanitize host headers and compare to a controlled whitelist was applied on the Apache NiFi 1.5.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Mike Cole.

CVE Link: Mitre Database: CVE-2017-12632

Released: January 12, 2018

CVE-2017-15697: Apache NiFi XSS issue in context path handling

Severity: Moderate

Versions Affected:

Description: A malicious X-ProxyContextPath or X-Forwarded-Context header containing external resources or embedded code could cause remote code execution.

Mitigation: The fix to properly handle these headers was applied on the Apache NiFi 1.5.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Andy LoPresto.

CVE Link: Mitre Database: CVE-2017-15697

Released: January 12, 2018

Fixed in Apache NiFi 1.4.0

CVE-2017-12623: Apache NiFi XXE issue in template XML upload

Severity: Moderate Important

Versions Affected:

Description: An authorized user Any authenticated user (valid client certificate but without ACL permissions) could upload a template which contained malicious code and accessed sensitive files via an XML External Entity (XXE) attack.

Mitigation: The fix to properly handle XML External Entities was applied on the Apache NiFi 1.4.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Paweł Gocyla and further information was provided by Mike Cole.

CVE Link: Mitre Database: CVE-2017-12623

Released: October 2, 2017 (Updated January 23, 2018)

CVE-2017-15703: Apache NiFi Java deserialization issue in template XML upload

Severity: Moderate

Versions Affected:

Description: Any authenticated user (valid client certificate but without ACL permissions) could upload a template which contained malicious code and caused a denial of service via Java deserialization attack.

Mitigation: The fix to properly handle Java deserialization was applied on the Apache NiFi 1.4.0 release. Users running a prior 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Mike Cole.

CVE Link: Mitre Database: CVE-2017-15703

Released: October 2, 2017 (Updated January 25, 2018)

Fixed in Apache NiFi 0.7.4 and 1.3.0

CVE-2017-7665: Apache NiFi XSS issue on certain user input components

Severity: Important

Versions Affected:

Description: There are certain user input components in the Apache NiFi UI which had been guarding for some forms of XSS issues but were insufficient.

Mitigation: The fix for more complete user input sanitization will be applied on Apache NiFi 0.7.4 and Apache NiFi 1.3.0 releases. Users running a prior 0.x or 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Matt Gilman.

Released: May 8, 2017 (1.2.0); May 17, 2017 (0.7.3)

CVE-2017-7667: Apache NiFi XFS issue due to insufficient response headers

Severity: Important

Versions Affected:

Description: Apache NiFi needs to establish the response header telling browsers to only allow framing with the same origin.

Mitigation: The fix to set this response header will be applied on Apache NiFi 0.7.4 and Apache NiFi 1.3.0 releases. Users running a prior 0.x or 1.x release should upgrade to the appropriate release.

Credit: This issue was discovered by Matt Gilman.

Released: May 8, 2017 (1.2.0); May 17, 2017 (0.7.3)

Fixed in Apache NiFi 0.7.2 and 1.1.2

CVE-2017-5635: Apache NiFi Unauthorized Data Access In Cluster Environment

Severity: Important

Versions Affected:

Description: In a cluster environment, if an anonymous user request is replicated to another node, the originating node identity is used rather than the “anonymous” user.

Mitigation: A fix has been provided (removing the negative check for anonymous user before building the proxy chain and throwing an exception, and evaluating each user in the proxy chain iteration and comparing against a static constant anonymous user). This fix was applied in NIFI-3487 and released in Apache NiFi 0.7.2 and 1.1.2. 1.x users running a clustered environment should upgrade to 1.1.2. 0.x users running a clustered environment should upgrade to 0.7.2. Additional migration guidance can be found here.

Credit: This issue was discovered by Leonardo Dias in conjunction with Matt Gilman.

Released: February 20, 2017

CVE-2017-5636: Apache NiFi User Impersonation In Cluster Environment

Severity: Moderate

Versions Affected:

Description: In a cluster environment, the proxy chain serialization/deserialization is vulnerable to an injection attack where a carefully crafted username could impersonate another user and gain their permissions on a replicated request to another node.

Mitigation: A fix has been provided (modification of the tokenization code and sanitization of user-provided input). This fix was applied in NIFI-3487 and released in Apache NiFi 0.7.2 and 1.1.2. 1.x users running a clustered environment should upgrade to 1.1.2. 0.x users running a clustered environment should upgrade to 0.7.2. Additional migration guidance can be found here.

Credit: This issue was discovered by Andy LoPresto.

Released: February 20, 2017

Fixed in Apache NiFi 1.0.1 and 1.1.1

CVE-2016-8748: Apache NiFi XSS vulnerability in connection details dialogue

Severity: Moderate

Versions Affected:

Description: There is a cross-site scripting vulnerability in connection details dialog when accessed by an authorized user. The user supplied text was not being properly handled when added to the DOM.

Mitigation: 1.0.0 users should upgrade to 1.0.1 or 1.1.1. 1.1.0 users should upgrade to 1.1.1. Additional migration guidance can be found here.

Credit: This issue was discovered by Matt Gilman of the Apache NiFi PMC during a code review.

Released: December 19, 2016 (1.0.1); December 22, 2016 (1.1.1)

Severity Levels

The following lists the severity levels and criteria followed. It closely aligns to and borrows from Apache HTTP Server Project guidance.

Critical A vulnerability rated with a critical impact is one which could be potentially exploited by a remote attacker to get NiFi to execute arbitrary code either as the user the server is running as or root. These are the sorts of vulnerabilities that could be exploited automatically by worms.
Important A vulnerability rated as Important impact is one which could result in the compromise of data or availability of the server. For Apache NiFi this includes issues that allow an easy remote denial of service or access to files that should be otherwise prevented by limits or authentication.
Moderate A vulnerability is likely to be rated as Moderate if there is significant mitigation to make the issue less of an impact. This might be done because the flaw does not affect likely configurations, or it is a configuration that isn't widely used, or where a remote user must be authenticated in order to exploit the issue.
Low All other security flaws are classed as a Low impact. This rating is used for issues that are believed to be extremely hard to exploit, or where an exploit gives minimal consequences.