FilterMatch permissions are not being handled in Access Control decisions
-------------------------------------------------------------------------

                 Key: DIRSERVER-955
                 URL: https://issues.apache.org/jira/browse/DIRSERVER-955
             Project: Directory ApacheDS
          Issue Type: Bug
          Components: core
    Affects Versions: 1.5.0
            Reporter: Ersin Er
            Assignee: Ersin Er
            Priority: Critical
             Fix For: 1.5.2


FilterMatch is a Directory operation effective on Attributes and their values 
and it's subject to Access Control according to the ACI system. In order to be 
able to use an attribute and it's value in a search filter which is to be 
executed on an entry, appropriate FilterMatch permissions should be set (with 
grantFilterMatch probably).

Current implementation of ApacheDS ACI subsystem just do not handle FilterMatch 
permissions. So any permissions related to FilterMatch operation 
(grant/denyFilterMatch) are simply discarded. The more interesting thing is 
that X.500 spec does not tell anything about this permission in detail; it does 
not mention it in the Access Control Decision Function (ACFD) algorithm. 
However, David Chadwick mentions this process as follow in his book, The X.500 
Book:

"... For each entry that has been included in the scope of the Search, the next 
step is to evaluate the
filter. This requires permission to use the attributes held in the entry for 
matching against items in
the filter (w/w 8.3). Permission is first required to use the attribute type 
for filtering (grant
FilterMatch for item attributeType). If permission is not given, then the 
filter item evaluates to
undefined. This is exactly the same result as if the attribute were not present 
in the entry. If
permission is given, then filter items using attribute types can be evaluated 
straight away. Filter
items using attribute values also require FilterMatch permission on each 
attribute value that is to be
used in the matching. Values without the grant FilterMatch permission are 
ignored. Any attribute
values with FilterMatch permission, are evaluated against the filter item, and 
will yield True or
False. If no value permissions are granted, a filter item will evaluate to 
False. After completing the
evaluation of the filter, an entry will either be selected for or discarded 
from inclusion in the Search
result. ..."

This need to be further researched but this issue is filed here in order to 
make a note. If I am correct, this is a serious issue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to