CVE-2026-25903
Java vulnerability analysis and mitigation

Overview

CVE-2026-25903 is a Missing Authorization vulnerability in Apache NiFi that allows a less privileged user to modify configuration properties of restricted extension components without the required elevated permissions. It affects Apache NiFi versions 1.1.0 through 2.7.2 (tracked internally as NIFI-15567). The vulnerability was reported on February 6, 2026, and publicly disclosed on February 16–17, 2026, by discoverer David Handermann. It carries a CVSS v3.1 base score of 6.6 (Medium) and a CVSS v4.0 base score of 8.7 (High) (Feedly, OSS-Security).

Technical details

The root cause is CWE-862 (Missing Authorization): Apache NiFi's framework correctly enforces elevated privileges when a restricted component is first added to a flow configuration via the @Restricted annotation, but fails to re-check those privileges when a previously added component's configuration properties are subsequently updated (OSS-Security). This means an attacker with standard write permissions to the NiFi flow can send API requests to update properties on restricted components — such as those capable of executing scripts or accessing sensitive resources — without possessing the additional Required Permissions the annotation mandates. The vulnerability is only exploitable in NiFi deployments that implement differentiated authorization levels for Restricted components; installations using a flat write-permission model are not affected (Feedly).

Impact

A less privileged authenticated user can alter sensitive configuration properties of restricted NiFi components — such as script execution processors or credential-handling components — that should require elevated authorization, potentially compromising confidentiality, integrity, and availability of the NiFi flow and the data it processes (OSS-Security). Depending on the restricted components present in the flow, an attacker could redirect data pipelines, exfiltrate sensitive information, introduce malicious processing logic, or disrupt data flow operations. The CVSS v4.0 scoring notes irrecoverable recovery and concentrated value density, reflecting the potential for significant downstream impact in data-intensive NiFi deployments (Feedly).

Exploitation steps

  1. Reconnaissance: Identify Apache NiFi instances running versions 1.1.0 through 2.7.2 that implement differentiated authorization levels for Restricted components (i.e., environments where some users have restricted component privileges and others do not).
  2. Obtain lower-privileged credentials: Acquire credentials for a NiFi user account that has standard write access to the flow but lacks the elevated Required Permissions needed to add Restricted components.
  3. Identify restricted components in the flow: Browse the NiFi UI or query the NiFi REST API (GET /nifi-api/processors/{id}) to enumerate processors or other extension components already present in the flow that carry the @Restricted annotation (e.g., script execution processors like ExecuteScript or ExecuteGroovyScript).
  4. Craft a property update request: Using the NiFi REST API, send a PUT /nifi-api/processors/{id} request with a modified configuration payload targeting sensitive properties of the identified restricted component (e.g., changing the script body or output destination).
  5. Achieve unauthorized configuration change: Because the framework does not re-validate Restricted permissions on update, the request succeeds, allowing the attacker to alter component behavior — such as injecting malicious script logic, redirecting data, or exfiltrating credentials — without the required elevated privileges (OSS-Security).

Indicators of compromise

  • Logs: NiFi application logs (nifi-app.log) showing PUT/POST API requests to /nifi-api/processors/{id} or similar component endpoints from user accounts that do not hold Restricted component privileges; audit log entries reflecting property changes on components annotated as Restricted by users without the corresponding Required Permissions role.
  • Network: Unexpected REST API calls to NiFi component update endpoints originating from lower-privileged service accounts or unusual source IPs.
  • Application State: Unexpected changes to configuration properties of script-execution processors (e.g., ExecuteScript, ExecuteGroovyScript, InvokeScriptedProcessor) or other Restricted components in the flow, particularly script body content, remote endpoints, or credential references.
  • Process: Unusual data flows or outputs from restricted processors that do not align with expected pipeline behavior, potentially indicating injected logic is executing.

Mitigation and workarounds

The recommended mitigation is to upgrade Apache NiFi to version 2.8.0 or later, which adds the missing authorization check for Restricted component property updates (OSS-Security, Apache Patch). Organizations that cannot immediately upgrade should review and tighten role-based access controls within NiFi, minimizing the number of users with write access to flows containing Restricted components. Deployments that do not implement differentiated authorization levels for Restricted components (i.e., all users with write access have equivalent permissions) are not subject to this vulnerability and the framework's standard write-permission boundary remains effective (Feedly).

Community reactions

The vulnerability received moderate coverage from security news outlets including SecurityOnline, GBHackers, CyberSecurityNews, CyberPress, and eSecurity Planet shortly after disclosure (Feedly). The SANS Internet Stormcast for February 18, 2026 mentioned the NiFi bugs as part of its daily briefing. Social media discussion was limited, with posts noted on Bluesky and Mastodon/Infosec.exchange. Red Hat published a tracking advisory for the CVE. Overall community sentiment treated this as a moderate-severity issue given the authentication and configuration prerequisites required for exploitation.

Additional resources


SourceThis report was generated using AI

Related Java vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

GHSA-p279-2cqp-84jgCRITICAL9.6
  • Java logoJava
  • org.openidentityplatform.opendj:opendj-server-legacy
NoYesJul 24, 2026
GHSA-fp43-vj7g-pg92HIGH7.5
  • Java logoJava
  • org.omnifaces:omnifaces
NoYesJul 24, 2026
GHSA-7ppr-r889-mcf2HIGH7.5
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.12
NoYesJul 24, 2026
GHSA-mhvj-jhpq-885vHIGH7.4
  • Java logoJava
  • org.http4s:http4s-blaze-server_2.13
NoYesJul 24, 2026
GHSA-46q4-43ph-c6frHIGH7.4
  • Java logoJava
  • org.http4s:blaze-http_2.12
NoYesJul 24, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management