Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Latest
go-oidc
contains coreos/go-oidc@20c0c22 which ensures that theSupportedSigningAlgs
is never empty.Motivation and Context
If
-skip-oidc-discovery
/OAUTH2_SKIP_OIDC_DISCOVERY
/skip_oidc_discovery
is set, then this codepath will create a verifier with no signature algorithms set. With previous versions ofgo-oidc
, that would skip checking if thealg
is in a whitelist, which may allow the infamousnone
algorithm be evaluated.How Has This Been Tested?
I haven't tried to exploit this, it just stood out while reviewing this code for common errors - and given that generally during an
authorization_code
flow the token is fetched directly from the IdP, rather than accepted from users via a header (and due to other reasons listed in thego-oidc
commit), it may not easily be exploitable, but still should be fixed, since it's easy.Checklist: