Xuze Yang created RANGER-5403:
---------------------------------

             Summary: Intermittent HDFS authorization failures caused by unsafe 
lazy initialization in CaseSensitiveRecursiveMatcher
                 Key: RANGER-5403
                 URL: https://issues.apache.org/jira/browse/RANGER-5403
             Project: Ranger
          Issue Type: Bug
          Components: plugins
    Affects Versions: 2.1.0
            Reporter: Xuze Yang


HDFS plugin may intermittently return incorrect authorization results when 
evaluating path-based policies.
This issue occurs under concurrent access due to unsafe lazy initialization 
inside RangerPathResourceMatcher$CaseSensitiveRecursiveMatcher.
 
Symptoms
•Sporadic access denied errors for valid HDFS paths
•The issue appears shortly after policy refresh
 
Root Cause
 
valueWithoutSeparator and valueWithSeparator are lazily initialized inside 
isMatch() without proper synchronization or safe publication.
 
For example:
1.Request R1 starts initializing only valueWithoutSeparator
2.Before R1 assigns valueWithSeparator, Request R2 skips initialization 
(because valueWithoutSeparator != null)
3.R2 reads valueWithSeparator == null
4.startsWith() check fails → false negative authorization
 
This has been reproduced in stress tests of HDFS authorization.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to