SeToY
Well-known member
- Affected version
- 2.3.6
Hey there,
I was digging into the WebAuthn implementation and noticed that the
Because there's no
The WebAuthn spec explicitly recommends verifying and storing the counter to detect cloned authenticators:
Cheers
Edit: Duplicated.
I was digging into the WebAuthn implementation and noticed that the
xf_passkey
table doesn’t store the authenticator’s signature counter.Because there's no
sign_count
(or equivalent thereof), the server never checks whether the counter returned by the authenticator is strictly increasing although the library supports it. So XF seems to be currently vulnerable to replay-style assertion attacks and doesn't provide clone detection.The WebAuthn spec explicitly recommends verifying and storing the counter to detect cloned authenticators:
Cheers
Edit: Duplicated.
When validating a passkey signature in
Suggested Fix
Store the signature counter in entity
\XF\Service\Passkey\Manager::validate()
the signature counter is not checked.Suggested Fix
Store the signature counter in entity
Passkey
after each successful validation and validate it when validating a passkey signature.- Kirby
- Replies: 0
- Forum: Bug reports