Skip to content

Set CTAP1 Authenticate UP byte correctly - #798

Merged
kaczmarczyck merged 1 commit into
google:developfrom
kaczmarczyck:ctap1-authenticate-up-byte
Oct 10, 2026
Merged

kaczmarczyck merged 1 commit into
google:developfrom
kaczmarczyck:ctap1-authenticate-up-byte

Conversation

@kaczmarczyck

Copy link
Copy Markdown
Collaborator

In Ctap1Command::process_command, user presence is only checked and consumed when flags == Ctap1Flags::EnforceUpAndSign. However, process_authenticate unconditionally passed
USER_PRESENCE_INDICATOR_BYTE (0x01) to generate_auth_data, both signing and returning a user presence byte of 0x01 even for DontEnforceUpAndSign requests. [1]

This means that through CTAP1, touchless assertions could be hidden to the relying party. Resident keys are unaffected.

[1] https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-raw-message-formats-v1.2-ps-20170411.html#authentication-request-message---u2f_authenticate

In Ctap1Command::process_command, user presence is only checked and
consumed when flags == Ctap1Flags::EnforceUpAndSign. However,
process_authenticate unconditionally passed
USER_PRESENCE_INDICATOR_BYTE (0x01) to generate_auth_data, both signing
and returning a user presence byte of 0x01 even for
DontEnforceUpAndSign requests. [1]

This means that through CTAP1, touchless assertions could be hidden to
the relying party. Resident keys are unaffected.

[1] https://fidoalliance.org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-raw-message-formats-v1.2-ps-20170411.html#authentication-request-message---u2f_authenticate
@kaczmarczyck
kaczmarczyck requested a review from ia0 October 10, 2026 07:43
@kaczmarczyck kaczmarczyck self-assigned this Oct 10, 2026
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 97.219%. remained the same — kaczmarczyck:ctap1-authenticate-up-byte into google:develop

@kaczmarczyck
kaczmarczyck merged commit 79e85b9 into google:develop Oct 10, 2026
13 checks passed
@kaczmarczyck
kaczmarczyck deleted the ctap1-authenticate-up-byte branch October 10, 2026 08:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants