7.5
CWE
862 285
Advisory Published
CVE Published
Updated

CVE-2023-0456: Apicast proxies the api call with incorrect jwt token to the api backend without proper authorization check

First published: Tue Jan 24 2023(Updated: )

<a href="https://issues.redhat.com/browse/THREESCALE-9009">https://issues.redhat.com/browse/THREESCALE-9009</a> Steps to reproduce Deploy 3scale + APIcast 2.12 Configure a single Product A with an OpenID Provider + realm A Generate a token on the OpenID Provider but a different realm with a client not subscribed to Product A Set the backend with a Public Path != "/" (setting a value here is important to enable the routing policy) Send a request to the gateway using Host &amp; path that will match Product A The above conditions will trigger the 404 Not Found returned to APIcast by backend and also the proxy pass to the upstream which results in the upstream response being sent back to the client. Observations The oidc module is not catching an exception when the JWK cannot be found due to the fact the JWT contains a mismatching kid. The failure to catch this exception then results in a further failure within the proxy module which should be able to evaluate the object returned by the oidc module and fail the authorisation logic but instead it continues to the authrep but without the required parameters which results in an incomplete request sent to backend and thus the 404 Not Found. Furthermore if the routing policy is enabled then it seems that as the proxy module has evaluated- incorrectly - that the JWT is already cached then it is able to send the request to the upstream. This doesn't happen without the routing policy because for some unknown reason as of yet the upstream is logged as being invalid otherwise it would also result in the proxy pass happening.

Credit: secalert@redhat.com secalert@redhat.com

Affected SoftwareAffected VersionHow to fix
Redhat Apicast<2.12.2
Redhat Apicast>=2.13.0<2.13.2

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2024 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203