CVE-2026-39816

HIGH LAB

Apache NiFi: Missing Execute Code Required Permission on TinkerpopClientService

Title source: cna
STIX 2.1

Exploitation Summary

EIP tracks 2 public exploits for CVE-2026-39816. PoCs published by adminlove520, ZeroPathAI.

AI-analyzed exploit summary This repository contains a functional exploit for CVE-2026-39816, demonstrating an EXECUTE_CODE permission bypass in Apache NiFi via TinkerpopClientService. The PoC authenticates as a user without EXECUTE_CODE permissions, creates a malicious ExecuteGraphQuery processor with a Groovy payload, and spawns a reverse shell.

Description

The optional extension component TinkerpopClientService is missing the Restricted annotation with the Execute Code Required Permission in Apache NiFi 2.0.0-M1 through 2.8.0. The TinkerpopClientService supports configuration of ByteCode Submission for the Script Submission Type, enabling Groovy Script execution in the service prior to submitting the query. The missing Restricted annotation allows users without the Execute Code Permission to configure the Service in installations that use fine-grained authorization and have the optional TinkerpopClientService installed. Apache NiFi installations that do not have the nifi-other-graph-services-nar installed are not subject to this vulnerability. Upgrading to Apache NiFi 2.9.0 is the recommended mitigation.

Exploits (2)

github WORKING POC 4 stars
by adminlove520 · pythonpoc
https://github.com/adminlove520/CVE-Poc_All_in_One/tree/main/2026/CVE-2026-39816

This repository contains a functional exploit for CVE-2026-39816, demonstrating an EXECUTE_CODE permission bypass in Apache NiFi via TinkerpopClientService. The PoC authenticates as a user without EXECUTE_CODE permissions, creates a malicious ExecuteGraphQuery processor with a Groovy payload, and spawns a reverse shell.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache NiFi 2.8.0
Auth required
Prerequisites: Apache NiFi 2.8.0 with graph bundle loaded · User credentials with flow-designer permissions but without EXECUTE_CODE · Reachable Gremlin server · Network connectivity for reverse shell
mistral-large-3 · analyzed Jun 01, 2026 Full analysis →
nomisec WORKING POC
by ZeroPathAI · poc
https://github.com/ZeroPathAI/nifi-CVE-2026-39816-poc

This repository contains a functional exploit for CVE-2026-39816, demonstrating an EXECUTE_CODE permission bypass in Apache NiFi 2.8.0 via the TinkerpopClientService. The exploit leverages a missing @Restricted annotation to execute arbitrary Groovy code in the NiFi JVM, bypassing intended security restrictions.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Moderate
Reliability
Reliable
Target: Apache NiFi 2.8.0
Auth required
Prerequisites: Apache NiFi 2.8.0 with the graph bundle installed · User with flow-designer permissions but without EXECUTE_CODE permission
mistral-large-3 · analyzed May 09, 2026 Full analysis →

Scores

CVSS v3 8.8
EPSS 0.0076
EPSS Percentile 51.0%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Lab Environment

COMMUNITY
Community Lab
docker pull osixia/openldap:1.5.0
docker pull apache/nifi:2.8.0
docker pull tinkerpop/gremlin-server:3.7.3

Details

CWE
CWE-862
Status published
Products (3)
apache/nifi 2.0.0 - 2.9.0
Apache Software Foundation/Apache NiFi 2.0.0-M1 - 2.8.0
org.apache.nifi/nifi-other-graph-services-nar 2.0.0-M1 - 2.9.0Maven
Published May 08, 2026
Tracked Since May 08, 2026