-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Perform security checks on inherited endpoints before payload deserialization in the RESTEasy Reactive #38832
Perform security checks on inherited endpoints before payload deserialization in the RESTEasy Reactive #38832
Conversation
This comment has been minimized.
This comment has been minimized.
95dd78e
to
29eb451
Compare
I've rebased on the current main and removed backport label as this can't be backported without conflicts. Will prepare separate backport commits based on what gets into main. |
Status for workflow
|
fixes: #38754
Standard security annotations on endpoints come from a class that declares the endpoint (has
@GET
, ...). Sure, the standard security annotations can be placed on any CDI bean and checked by the CDI interceptors, but as far as eager endpoint security checks are concerned, we must follow what is actual endpoint. Essence of the change is forMethodDescription
in theServerRestHandler
to match gatheredMethodDescription
in the SecurityProcessor and addted to the SecurityCheckStorage:quarkus/extensions/security/deployment/src/main/java/io/quarkus/security/deployment/SecurityProcessor.java
Line 599 in b79b11f
This issue is there from the beginning of the
EagerSecurityHandler
I guess, but as when the security check is not performed eagerly, it is always backed by CDI interceptors so we didn't mention. However now that default JAX-RS security checks are hardened due to the CVE fix, we need proper endpoint matching and it's desirable to perform it sooner anyway (authZ before deserialization + non-blocking security checks).