yubioath-flutter icon indicating copy to clipboard operation
yubioath-flutter copied to clipboard

Yubioath-desktop and Chromium don't co-exist on Fedora 32

Open 9strands opened this issue 4 years ago • 11 comments

  • Yubico Authenticator version: 5.0.4
  • Operating system and version: Fedora 32 x86_64
  • YubiKey model and version: YubiKey 4 nano Firmware 4.2.8
  • Bug description summary: Chrome-based browsers and this app conflict

Of note, I use KDE as my desktop environment, in case this causes issues. I have my Yubikey 4 configured in OTP+FIDO+CCID mode. The Yubikey is protected with a PIN, so HOTP/TOTP codes cannot be accessed without entering it.

Steps to reproduce

Either way shows the error:

  1. Start Chrome/Chromium.
  2. Open the Yubico Authenticator
  3. You will be prompted for the PIN.
  4. Enter the PIN and the Authenticator app will not accept the PIN
  5. Close Chrome/Chromium and the key will Authenticate

1 Start the Yubikey Authenticator app 2. Enter the PIN and the TOTP/HOTP code screen shows. 3. Open Chrome/Chromium 4. Attempt to access any website 5. The Chromium Browser will lag badly on attempting to connect showing "Establishing SSL Connection..." and eventually fail on "ERR_TIMED_OUT". 6. Closing the Yubikey Authenticator app fails, and the app will not shutdown, as well as key refresh will fail.

At this point, killing and restarting the authenticator fails to even recognize the key, unless you move the key to a different USB port. Move the key to a new port and then connectivity to the Authenticator app will function again.

I was attempting to use the Yubikey to authenticate codes for my workplace.

Note, this issue does not occur with any other browser, except Firefox.

Also, it seems to have started specifically when I enabled PIN-protection on the yubikey, and did not show issues until I enabled PIN protection for the key. I had been using the authenticator app before without a PIN.

Expected result

I could open Chrome/Chromium and access websites, then use the Yubikey Authenticator app on the Desktop to provide 2FA codes for apps in Chromium,

Actual results

I cannot use both apps together, and I cannot use the Authenticator App after Chromium is opened until I force kill the PID of the authenticator application, and then physically move the key to a new slot.

Other info

None.[Anything else you would like to add?]

9strands avatar Jun 02 '20 00:06 9strands

I've raised this bug in the Chromium project which is for the same issue: https://bugs.chromium.org/p/chromium/issues/detail?id=1087704&q=&can=4

9strands avatar Jun 02 '20 00:06 9strands

Also, note, that once I the codes hang on the key, I have to physically remove the key and reinsert it into a different slot, or the Authenticator app no longer recognizes the key in its original slot. Move it, and the key is recognized. If I cause the hang to happen again, I can move the key back to it's original slot and reopen the authenticator and then it will work again.

9strands avatar Jun 02 '20 00:06 9strands

I have just confirmed - unsetting the PIN on the key causes the error to no longer appear between the authenticator app and the Chrome/Chromium browsers, however, new keycodes will no longer generate until I open the console and use kill <chrome/chromium PID>

Upon killing the browser, I get new PIN codes in the app properly and it no longer hangs.

9strands avatar Jun 02 '20 00:06 9strands

Chromium developers believe this is something to do with nss-kit and that both Chromium and the Authenticator app are accessing the user-specific/system-wide nss stores

9strands avatar Jun 03 '20 22:06 9strands

Thanks for the detailed report, and sorry for not getting back earlier. We'll try to look into this. It does seem strange that the password would make any difference, and it should also be possible to reproduce it with ykman oath commands, since the tools share smart card handling logic.

dagheyman avatar Jun 26 '20 06:06 dagheyman

Another update, something that may or may not be related, but when I use anything that requests FIDO/U2F auth from the key, the touch-based TOTP function on the key seems to still be locked out until I physically pull the key and plug it back in. This is with the opensc patch

9strands avatar Jul 07 '20 23:07 9strands

I am seeing the same issue with Fedora 33. Interestingly I didn't have this issue with Fedora 32. It only started after upgrading to Fedora 33. I don't have a pin set.

chromium-freeworld-86.0.4240.111-2.fc33.x86_64 nss-3.57.0-1.fc33.x86_64 yubioath-desktop-5.0.4-3.git2e13158.fc33.x86_64

edgan avatar Nov 04 '20 19:11 edgan

The problem for me has gotten even bigger. Now I am having issues with starting firefox. Firefox will open an invisible window, and hang. I thought I had a bad update, bad kernel, or something. It ended up just being the yubikey. It seems like as with yubioath-desktop and chromium, firefox is also fighting chromium for access.

Edit: No this seems to at least also be a fight between Firefox and yubioath-desktop. I have Firefox open, Chromium closed, and yubioath-desktop open. Then Firefox will hang opening a new link in a new tab till I disconnect the yubikey.

yubioath-desktop also hangs all the time. I have to kill it regularly.

edgan avatar Feb 02 '21 19:02 edgan

My current workaround is just to stop using U2F for anything. yubioath-desktop is more convenient than my phone, I have 10x or more 2FA codes than I did uses for U2F. Everywhere I can use U2F, I can use 2FA codes, but most places I can't use U2F.

edgan avatar Feb 02 '21 21:02 edgan

I continued to have some issues with this even after getting rid of U2F, just less. I then upgraded from pcsc-lite 1.9.0 to 1.9.1 by making my own rpm with 1.9.1 based on the 1.9.0 source rpm. It has been a few days, and I have yet to see an issue.

edgan avatar Feb 23 '21 20:02 edgan

I note that this issue continues on Fedora 33 as well with Chromium, but with the latest Firefox only open, there is no conflict. It only occurs when Chromium is opened and it appears the NSS conflict continues.

As soon as Chromium is opened, the yubioath-desktop key refresh hangs at the next cycle.

Versions are: yubioath-desktop-5.0.4-7.20210210git9ea38f7.fc33.x86_64 chromium-88.0.4324.182-2.fc33.x86_64 nss-3.62.0-1.fc33.x86_64

9strands avatar Mar 28 '21 22:03 9strands

Yubico Authenticator 6.0 has now been released and uses a new codebase. As such, this issue has been marked with the legacy label, and will be automatically closed in 7 days. If this issue is still relevant to Yubico Authenticator 6, please comment on the issue saying so, and it will be kept open (or be re-opened). Sorry for the inconvenience!

dainnilsson avatar Nov 16 '22 10:11 dainnilsson