Skip to content

Unexpected keys in CTAP2 responses should be ignored #343

@hvge

Description

@hvge

Hello,

I'm working on a FIDO2 hardware token that supports the CTAP2.1 protocol, and we have identified an issue with Mozilla Firefox on Linux. Specifically, when the authenticatorGetAssertion command's response contains keys introduced in CTAP2.1, the entire response is rejected. This behavior contradicts the specification, which mandates that implementations must ignore any keys they do not understand.

Refer to the CTAP2.1 specification, which states:

"If map keys are present that an implementation does not understand, they MUST be ignored. Note that this enables additional fields to be used as new features are added without breaking existing implementations."

Our hardware token includes the userSelected member in the authenticatorGetAssertion response structure. After investigation, I identified that this line in the code is responsible for rejecting the entire response.

Although I have not reviewed other commands in depth, the "ignore unknown keys" principle applies universally to all responses returned by the authenticator.

Thank you for reviewing this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions