Webauthn; Don’t do it wrong when doing it right
summary
Recounts an audit of WebAuthn and FIDO2 libraries and services that finds inconsistent handling of origins and RP IDs, with 16 validations (22 if extended) and a critical ambiguity at Step 13 about origin matching. Demonstrations show a subdomain XSS can forward a signed assertion to an attacker and Android’s credential provider flow plus pending intents and a sample exported activity let a malicious app forge getCredential requests, bypass prompts, and reuse responses; fixes: exact-origin checks, signed-app verification, avoid exported activities, and security reviews.
AI-written summary · about
chapters (13)
- 0:00WebAuthn introduction
- 1:02What is WebAuthn
- 3:07WebAuthn flows
- 5:55WebAuthn phishing resistance
- 7:45Relying Party ID risks
- 10:15Library origin validation
- 11:49Live demo: response theft
- 13:47WebAuthn standard fixes
- 14:51Android 14 API
- 17:37Malicious app spoofing
- 19:25Exported activities risks
- 21:51Live demo: activity spoofing
- 23:57WebAuthn best practices
related talks
01h 14mWebAuthn: Theory and practice
40mWebAuthn 201: How to FIDO
26mWebAuthn 101 - Demystifying WebAuthn
25mHow do I..? Answering common questions from RP devs
29mWebAuthn and security keys - unlocking the key to authentication
42mBeyond Passwords: How WebAuthn Actually Works
18mA Developers Guide to WebAuthn
45mSecure your application with WebAuthn
