CTRAPS: CTAP Client Impersonation and API Confusion on FIDO2
Marco Casagrande, Daniele Antonioli
TL;DR
This work uncovers CTAP Authenticator API as a critical yet under-examined attack surface in FIDO2, introducing two classes of protocol-level attacks (CI and AC) that yield eleven concrete exploits. It provides the CTRAPS toolkit and demonstrates practical feasibility across six authenticators and ten relying parties, independent of transport. The authors propose eight backward-compatible countermeasures to fix root causes and discuss deficiencies in the FIDO threat model revealed by their findings. The study emphasizes the need for stronger API authentication, safer destructive operations, and credential-management policies to preserve security and privacy in passwordless ecosystems.
Abstract
FIDO2 is the standard technology for single-factor and second-factor authentication. It is specified in an open standard, including the WebAuthn and CTAP application layer protocols. We focus on CTAP, which allows FIDO2 clients and hardware authenticators to communicate. No prior work has explored the CTAP Authenticator API, a critical protocol-level attack surface. We address this gap by presenting the first security and privacy evaluation of the CTAP Authenticator API. We uncover two classes of protocol-level attacks on CTAP that we call CTRAPS. The client impersonation (CI) attacks exploit the lack of client authentication to tamper with FIDO2 authenticators. They include zero-click attacks capable of deleting FIDO2 credentials, including passkeys, without user interaction. The API confusion (AC) attacks abuse the lack of protocol API enforcements and confound FIDO2 authenticators, clients, and unaware users into calling unwanted CTAP APIs while thinking they are calling legitimate ones. The presented eleven attacks are conducted either in proximity or remotely and are effective regardless of the underlying CTAP transport. We detail the eight vulnerabilities in the CTAP specification, enabling the CTRAPS attacks. Six are novel and include unauthenticated CTAP clients and trackable FIDO2 credentials. We release CTRAPS, an original toolkit, to analyze CTAP and conduct the CTRAPS attacks. We confirm the attacks practicality on a large scale by exploiting six popular authenticators, including a FIPS-certified one from Yubico, Feitian, SoloKeys, and Google, and ten widely used relying parties, such as Microsoft, Apple, GitHub, and Facebook. We present eight practical and backward-compliant countermeasures to fix the attacks and their root causes. We responsibly disclosed our findings to the FIDO alliance and the affected vendors.
