First published: Thu Dec 05 2024(Updated: )
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.
Affected Software | Affected Version | How to fix |
---|---|---|
Red Hat Quarkus RESTEasy |
Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.
The severity of REDHAT-BUG-2330484 is currently under assessment as it involves unauthorized access to sensitive user registration and login endpoints.
To fix REDHAT-BUG-2330484, developers should ensure that the default REST endpoints are disabled or properly secured when implementing custom endpoints.
The potential impacts of REDHAT-BUG-2330484 include unauthorized access to user credentials and session hijacking risks if default endpoints are left exposed.
All versions of Red Hat Quarkus that include the WebAuthn module with default REST endpoints are potentially affected by REDHAT-BUG-2330484.
Yes, as a workaround for REDHAT-BUG-2330484, developers can implement additional authentication checks or network-level restrictions for the default endpoints.