Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The value=null + essential=true operator combination must be prohibited #180

Open
vdzhuvinov opened this issue Jan 17, 2025 · 1 comment

Comments

@vdzhuvinov
Copy link
Collaborator

vdzhuvinov commented Jan 17, 2025

The current draft allows value + essential combinations unconditionally.

https://openid.github.io/federation/main.html#section-6.1.3.1.1

The special case when a value=null is combined with an essential=true can never be satisfied, hence that's an inconsistent policy.

Example:

TA policy to clear any logo URI from RP metadata:

{
  "logo_uri": {
     "value": null
  }
}

Intermediate policy:

{
  "logo_uri": {
     "essential": true
  }
}

Under the current rules the combination is allowed, resulting in:

{
  "logo_uri": {
     "value": null,
     "essential": true
  }
}

Metadata will always fail this policy combination, hence that could never cause a security issue.

The fix: The combination of value + essential must be made conditional: value MAY be combined with essential, except when value is null and essential false.

vdzhuvinov added a commit to vdzhuvinov/federation that referenced this issue Jan 17, 2025
@vdzhuvinov
Copy link
Collaborator Author

Addressed in PR #177 , commit dd97c75

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

1 participant