CVE-2024-12225: Io.quarkus:quarkus-security-webauthn: quarkus webauthn unexpected authentication bypass
A vulnerability was found in Quarkus in the quarkus-security-webauthn module. The Quarkus WebAuthn module publishes default REST endpoints for registering and logging users in while allowing developers to provide custom REST endpoints. When developers provide custom REST endpoints, the default endpoints remain accessible, potentially allowing attackers to obtain a login cookie that has no corresponding user in the Quarkus application or, depending on how the application is written, could correspond to an existing user that has no relation with the current attacker, allowing anyone to log in as an existing user by just knowing that user's user name.
Other sources
The Quarkus WebAuthn module publishes default REST endpoints for registering and logging users in, while allowing developers to provide custom REST endpoints for those. When developers provide custom REST endpoints, the default endpoints remain accessible, potentially allowing attackers to obtain a login cookie that has no corresponding user in the Quarkus application, or depending on how the application is written, could correspond to an existing user that has no relation with the current attacker, allowing anyone to log in as an existing user by just knowing that user's user name.
To exploit, a Quarkus application must use the Quarkus WebAuthn module, and provide custom endpoints for login and registration, leaving the default endpoints open and half-working (because they call user code in WebAuthnUserProvider.create/update that will probably be a no-op since the developers will focus on their custom endpoints). Doing a POST /q/webauthn/callback with a WebAuthn login or registration payload will obtain a login cookie, causing all code annotated with @Authenticated to accept calls, with a SecurityIdentity that has a user name as provided by the user. That SecurityIdentity by default will have no roles, but the Quarkus application can add roles if the user exists, depending on how it's written.
— Red Hat
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2024-12225?
CVE-2024-12225 has a medium severity rating due to the potential for unauthorized access through default REST endpoints.
How do I fix CVE-2024-12225?
To fix CVE-2024-12225, ensure that you customize the default REST endpoints and implement proper access controls.
What software is affected by CVE-2024-12225?
CVE-2024-12225 affects the Quarkus WebAuthn module within Red Hat Quarkus.
What type of vulnerability is CVE-2024-12225?
CVE-2024-12225 is a security vulnerability related to improper endpoint management and authorization.
Is there a patch available for CVE-2024-12225?
Patches for CVE-2024-12225 should be checked in the latest updates of Red Hat Quarkus.