Closed zopieux closed 1 year ago
Fun fact though: the commit (f5702c617a7479e1f9c405238a0a627ef7527ebe) that works under Chromium fails with Firefox (unrelated to #15 I suppose) with the same panic, for the same website.
Huh, that commit shouldn't have touched the U2F code, and it looks like we may be getting odd data from the website for the key handle. What website is this? If I can reproduce it locally, it will be a lot easier to fix since I can see what data the website is sending back.
It's a French bank sadly (boursorama-banque.com), you'd need to open an account, which I don't think you'd want :-)
How else can I help?
I can take a look at this; if you go into u2f.go
and enable the logging by turning on new Logger("[U2F]", *true*)
and then run it again and give me the logs, that will be super helpful. I'm guessing that something is messing up in the protocol and garbage data is being interpreted as the key handle.
So, taking a look at the logs, it looks like the device is being given a well-formed request, but the key handle it is being provided is not correct (or perhaps not created by this device). The device shouldn't crash in this case, it should just return an error response to the website, so I fixed that in https://github.com/bulwarkid/virtual-fido/commit/e48308c7ff298d1449dd7cc8715f51ee645ac0b1. That commit should cause an error to the website instead of crashing the device, at least.
Is there any chance there are multiple devices registered to the account? The website could have been trying a different one and VirtualFIDO just handled it poorly. If this is the only device on the account, then another problem must exist; something would be corrupting the key handle here.
There is a single FIDO key registered on that website for my account, if I understand your question correctly. I'll try your commit this week, thanks again for looking at this.
Closing this as inactive; feel free to reopen as necessary.
OS: Linux (archlinux) Browser: Chromium Working commit: f5702c617a7479e1f9c405238a0a627ef7527ebe Failing commit: 6cb93bc085eb3ad48c1c943f791aa7bcb2336f54
Error when authenticating with a website using 6cb93bc085eb3ad48c1c943f791aa7bcb2336f54 (previously registered in
vault.json
)Please tell me if you need more verbose logs.