Closed Bug 1416494 Opened 7 years ago Closed 5 years ago

Unable to use Yubikey U2F with Fedora 26 and Firefox 57

Categories

(Core :: DOM: Device Interfaces, defect, P3)

57 Branch
defect

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: alistair, Unassigned)

References

Details

(Whiteboard: [u2f])

User Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0 Build ID: 20171106144225 Steps to reproduce: Try to login with a U2F Yubikey on either the Bitwarden Firefox addon or GitHub's website with Firefox 57 and Fedora 26. The security.webauth.u2f config has been set to true. Actual results: The Bitwarden addon reports: U2F Error: 1 The GitHub page just says that something went wrong. The same addon and webpage work with Firefox on Windows 10. This is the demesg log from Fedora: [ 2003.802889] usb 1-1.2: new full-speed USB device number 7 using ehci-pci [ 2003.884045] usb 1-1.2: New USB device found, idVendor=1050, idProduct=0120 [ 2003.884053] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 2003.884056] usb 1-1.2: Product: Security Key by Yubico [ 2003.884060] usb 1-1.2: Manufacturer: Yubico [ 2003.889952] hid-generic 0003:1050:0120.0006: hiddev96,hidraw0: USB HID v1.10 Device [Yubico Security Key by Yubico] on usb-0000:00:1d.0-1.2/input0 [ 2058.671048] usb 1-1.2: USB disconnect, device number 7 Expected results: The addon and website should detect the U2F device and the login should succeed.
Component: Untriaged → DOM: Device Interfaces
Product: Firefox → Core
Whiteboard: [u2f]
Is libudev available/installed on your system? Should probably be located at /usr/lib/libudev.so.1?
Flags: needinfo?(alistair)
No, not that I can see: $ dnf list "*udev*" Last metadata expiration check: 0:03:37 ago on Mon 13 Nov 2017 01:55:09 PM PST. Installed Packages libgudev.x86_64 232-1.fc26 @updates python3-pyudev.noarch 0.21.0-3.fc26 @anaconda system-config-printer-udev.x86_64 1.5.9-4.fc26 @updates-testing systemd-udev.x86_64 233-7.fc26 @updates Available Packages 3dprinter-udev-rules.noarch 0.2.1-2.fc26 fedora drbd-udev.x86_64 8.9.6-3.fc26 fedora gudev-sharp.x86_64 1:0.1-20.fc26 fedora gudev-sharp-devel.i686 1:0.1-20.fc26 fedora gudev-sharp-devel.x86_64 1:0.1-20.fc26 fedora libgudev.i686 232-1.fc26 updates libgudev-devel.i686 232-1.fc26 updates libgudev-devel.x86_64 232-1.fc26 updates libstoragemgmt-udev.x86_64 1.4.0-1.fc26 fedora python2-pyudev.noarch 0.21.0-3.fc26 fedora python2-pyudev-glib.noarch 0.21.0-3.fc26 fedora python2-pyudev-pyside.noarch 0.21.0-3.fc26 fedora python2-pyudev-qt4.noarch 0.21.0-3.fc26 fedora python2-pyudev-qt5.noarch 0.21.0-3.fc26 fedora python2-pyudev-wx.noarch 0.21.0-3.fc26 fedora python3-pyudev-qt4.noarch 0.21.0-3.fc26 fedora python3-pyudev-qt5.noarch 0.21.0-3.fc26 fedora soletta-flow-module-udev.x86_64 1-1.fc26 fedora udev-browse.x86_64 0.3-5.fc22 fedora unifying-receiver-udev.noarch 0.2-8.fc26 fedora uudeview.x86_64 0.5.20-36.fc26 fedora I can't see it to install though: $ dnf search "*udev*" Last metadata expiration check: 0:04:06 ago on Mon 13 Nov 2017 01:55:09 PM PST. ===================== Summary & Name Matched: *udev* ===================== udev-browse.x86_64 : Udev browser tool python3-pyudev.noarch : A libudev binding python2-pyudev.noarch : A libudev binding gudev-sharp.x86_64 : C# bindings for gudev libgudev-devel.i686 : Header files for libgudev libgudev-devel.x86_64 : Header files for libgudev drbd-udev.x86_64 : udev integration scripts for DRBD python2-pyudev-qt4.noarch : Qt4 integration for pyudev python2-pyudev-qt5.noarch : Qt5 integration for pyudev python3-pyudev-qt4.noarch : Qt4 integration for pyudev python3-pyudev-qt5.noarch : Qt5 integration for pyudev python2-pyudev-glib.noarch : GLib integration for pyudev libstoragemgmt-udev.x86_64 : Udev files for libstoragemgmt python2-pyudev-wx.noarch : wxPython integration for pyudev libgudev.x86_64 : GObject-based wrapper library for libudev libgudev.i686 : GObject-based wrapper library for libudev gudev-sharp-devel.i686 : Development files for gudev-sharp gudev-sharp-devel.x86_64 : Development files for gudev-sharp python2-pyudev-pyside.noarch : PySide integration for pyudev soletta-flow-module-udev.x86_64 : Udev flow module for soletta unifying-receiver-udev.noarch : udev rules for user access to Logitech : Unifying Receiver system-config-printer-udev.x86_64 : Rules for udev for automatic : configuration of USB printers 3dprinter-udev-rules.noarch : Rules for udev to give regular users access : to operate 3D printers ========================== Name Matched: *udev* ========================== uudeview.x86_64 : Applications for uuencoding, uudecoding, ... systemd-udev.x86_64 : Rule-based device node and kernel event manager ======================== Summary Matched: *udev* ========================= dracut.x86_64 : Initramfs generator using udev biosdevname.x86_64 : Udev helper for naming devices per BIOS names u2f-hidraw-policy.x86_64 : Udev rule to allow desktop access to HIDRAW U2F : tokens
Flags: needinfo?(alistair) → needinfo?(ttaubert)
It looks like that's in "systemd-devel". Can you install that and see if U2F works? If that's the solution we might have to ask to add libudev to the dependencies.
Flags: needinfo?(ttaubert) → needinfo?(alistair)
I just installed it (it wasn't installed) $ dnf list systemd-devel Last metadata expiration check: 18:21:45 ago on Mon 13 Nov 2017 01:55:09 PM PST. Installed Packages systemd-devel.x86_64 233-7.fc26 @updates Available Packages systemd-devel.i686 233-7.fc26 updates I still can't login. Although now I don't get an error, it just times out.
Flags: needinfo?(alistair)
Priority: -- → P3
Ok, I just reproduced this on a fresh Fedora 26 install. What you need to do is the following: > sudo dnf install u2f-hidraw-policy Then restart. This made it work with the u2f-hid-rs Rust library used by Firefox, and by Firefox 57 itself. It seems to work without having systemd-devel installed though? We should contact the Fedora maintainers to make this a dependency of Firefox. It's already a dependency of the "chromium" package [1]. [1] http://pkgs.fedoraproject.org/cgit/rpms/chromium.git/tree/chromium.spec#n413
Martin, could you please add this package dependency in Fedora? Should it be done for Thunderbird, too?
Flags: needinfo?(stransky)
Status: UNCONFIRMED → NEW
Ever confirmed: true
Flags: needinfo?(stransky)
Okay, we'll handle that.
That fixes the problem for me!
This has been resolved downstream.
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WORKSFORME

Closing the bug as it has been fixed.

Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.