Summary
ZeroPath Research disclosed CVE-2026-39816 in Apache NiFi. The issue affects
NiFi 2.0.0-M1 through 2.8.0 when the optional
nifi-other-graph-services-nar extension is installed. In that configuration,
users without the EXECUTE_CODE permission can configure
TinkerpopClientService in a way that executes Groovy code before submitting a
graph query.
Apache’s advisory text describes the root cause as a missing restricted annotation for the Execute Code Required Permission. NiFi 2.9.0 contains the fix, and Apache recommends upgrading.
Attribution
This entry is labeled self-reported. The Apache advisory and oss-security post credit John Walker from ZeroPath as the finder, and they confirm the affected versions and fixed release. ZeroPath’s own write-up supplies the AI-workflow context, saying that LLMs working inside a structured scaffold made it easier to find the surprising permission boundary.
That separation matters. The vulnerability and reporter are independently corroborated by Apache; the exact AI-assisted discovery workflow is first-party ZeroPath evidence.
Why it matters
The bug is a useful example of AI-assisted application-security discovery outside memory safety. The vulnerable path was semantic: a component that looks like a graph-query interface can become a code-execution interface under a specific TinkerPop submission mode.
Traditional source-to-sink matching is not enough to explain the bug. The finding depends on understanding NiFi’s permission model, optional extension packaging, and how TinkerPop’s Groovy-backed query flow changes the meaning of the configured permission.
References
- ZeroPath: CVE-2026-39816 in Apache NiFi
- Apache NiFi security page: CVE-2026-39816
- oss-security: CVE-2026-39816 Apache NiFi
- NVD: CVE-2026-39816
- Apache Jira: NIFI-15800
Catalogued in the Bugflation public ledger. Disagree with the attribution or severity label? Email the desk.