The analysis of the security vulnerability in Apache Neethi (CVE-2026-42403) reveals two primary weaknesses in the policy normalization process, both residing within the org.apache.neethi.AbstractPolicyOperator class. These weaknesses could be exploited to cause a Denial of Service (DoS).
The first vulnerability is an infinite recursion issue caused by a lack of circular reference detection. The normalizeOperator function, which recursively processes policy references, did not track the policies it was currently resolving. An attacker could create a policy structure where Policy A references Policy B, and Policy B references Policy A. When normalize is called on such a policy, it leads to unbounded recursion in normalizeOperator, ultimately causing a StackOverflowError. The patch addresses this by adding a Set to track the IDs of policies being resolved, thus detecting and preventing the circular reference.
The second vulnerability is an uncontrolled resource consumption issue within the getCrossProduct function. This function can be forced to generate a Cartesian product of policy alternatives that grows exponentially. An attacker could craft a policy that triggers this exponential expansion, leading to excessive heap memory allocation and an OutOfMemoryError. The fix introduces a hard limit (MAX_ALTERNATIVES) on the number of policy alternatives that can be generated, preventing this resource exhaustion attack.
Therefore, the key functions that would appear in a runtime profile during exploitation are org.apache.neethi.AbstractPolicyOperator.normalize, which initiates the process, and the two core vulnerable functions it calls into: org.apache.neethi.AbstractPolicyOperator.normalizeOperator for the recursion-based DoS and org.apache.neethi.AbstractPolicyOperator.getCrossProduct for the memory-exhaustion-based DoS.