Enabling security.webauthn.ctap2 will request PIN entry when only touch verification is required
Categories
(Core :: DOM: Web Authentication, defect, P2)
Tracking
()
People
(Reporter: devnull771992, Assigned: jschanck)
References
Details
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0
Steps to reproduce:
- Setup a fido/u2f token* for login on a nextcloud instance (also tested with Github)
(this will require the user to touch the token, there is no pin required) - Set security.webauthn.ctap2 to true (currently false is default in firefox 109)
- Nextcloud will now require the user to enter a PIN to login
- Using Nitrokey Fido2 token
Actual results:
The authentication process changed by requiring PIN entry instead of touch verification to login to a service that was previously setup without PIN requirement
Expected results:
Firefox should not request the PIN to be entered when the service was setup using u2f or Fido2 with touch verification only.
When using chromium for the login process, it works as expected and no pin is required.
Comment 1•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::DOM: Web Authentication' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Reporter | ||
Comment 2•2 years ago
|
||
Some notes:
Services using Fido2 authentication can determine the user to use different factors to authenticate:
- The user needs to have a token connected
- The user needs to touch the token to verify the authentication
- The user needs to enter the Token Pin to verify the authentication
These steps can also be combined, to have to user both touch the token and require the Pin entry.
Entering a PIN should only be requested if the Authentication service requests this.
This bug is likely caused by registering the key for U2f (Fido1) using CTAP but after enabling CTAP2 something goes wrong.
Reporter | ||
Comment 3•2 years ago
|
||
This can also be reproduced on https://webauthn.io for testing
- Register key while security.webauthn.ctap2=false - touch is requested
- Login with key while security.webauthn.ctap2=false - touch is requested
- Login with key while security.webauthn.ctap2=true - PIN is requested
If the register step is done with security.webauthn.ctap2=true a PIN is also requested during registration, but this might be intentional
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Updated•2 years ago
|
Assignee | ||
Comment 4•2 years ago
|
||
Is this still an issue for you? I think we resolved it in Bug 1804624, but I don't have a Nitrokey Fido2 to test with.
Assignee | ||
Updated•1 year ago
|
Description
•