Skip to content

fix(access-control): prevent fail-open negated ACL conditions#5714

Draft
leseb wants to merge 1 commit intoogx-ai:mainfrom
leseb:leseb/fix-acl-fail-open
Draft

fix(access-control): prevent fail-open negated ACL conditions#5714
leseb wants to merge 1 commit intoogx-ai:mainfrom
leseb:leseb/fix-acl-fail-open

Conversation

@leseb
Copy link
Copy Markdown
Collaborator

@leseb leseb commented May 4, 2026

What does this PR do?

This PR fixes ACL negation conditions that could fail open in permit ... unless ... rules when owner or user attribute data is missing.
It introduces tri-state condition evaluation (match, no_match, indeterminate) and updates rule evaluation so indeterminate results never widen access.
It also replaces a stray print with structured logging and adds targeted unit tests for condition behavior and server access-policy regressions.

Test Plan

  • uv run pytest tests/unit/core/access_control/test_conditions.py tests/unit/server/test_access_control.py -q
  • Result: 74 passed, 2 warnings in 0.58s (existing AsyncMock coroutine warnings in tests/unit/server/test_access_control.py).

Signed-off-by: Sébastien Han <seb@redhat.com>
@leseb
Copy link
Copy Markdown
Collaborator Author

leseb commented May 5, 2026

@r3v5 do you want to take over?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant