CVE-2023-6394: Quarkus: graphql operations over websockets bypass
A flaw was found in Quarkus. This issue occurs when receiving a request over websocket with no role-based permission specified on the GraphQL operation, Quarkus processes the request without authentication despite the endpoint being secured. This can allow an attacker to access information and functionality outside of normal granted API permissions.
Other sources
I've tried it and when I have the /graphql endpoint secured, then calling it over a websocket is possible without providing an auth header, because the websocket handler is placed before the authorization checks.
It seems to be exploitable only when you don't specify any role-based permissions (@RolesAllowed) on the GraphQL operation, because if you do, then Quarkus attempts to check the role of the user, which fails with a NullPointerException (because the security identity is null and Quarkus tries to check whether it has a role). When the policy says just that the user has to be authenticated, the request goes through. If there's any checking of the user metadata, the request fails with NPE. But all in all, it looks pretty bad to me, because websockets are always enabled (maybe we should also add an option to disable them)
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2023-6394?
CVE-2023-6394 has been classified as a high-severity vulnerability due to its potential to allow unauthorized access.
How do I fix CVE-2023-6394?
To fix CVE-2023-6394, upgrade to Quarkus version 3.6.0 or later, or use specific patched versions for the affected GraphQL client dependencies.
What types of applications are affected by CVE-2023-6394?
Applications using Quarkus with GraphQL operations lacking role-based permission specifications are vulnerable to CVE-2023-6394.
Can CVE-2023-6394 be exploited remotely?
Yes, CVE-2023-6394 can be exploited remotely since it involves receiving unauthenticated requests over a websocket.
What is the impact of CVE-2023-6394 on data security?
The impact of CVE-2023-6394 can lead to unauthorized access to sensitive information due to the lack of proper authentication.