qtubuntuqt5yubico

Yubikey converts lower case letter of password into capital in Qt applications on Ubuntu 20.04


We have a yubikey 5 NFC with a static OTP password where the first letter is a lowercase letter. When using this password in a Qt5 application running on an Ubuntu 20.04.2 LTS device, the first letter gets transformed to an uppercase letter. After doing some quick testing, it looks like if the 2 letters following on the first letter are capitals, only then the first letter gets transformed to a capital letter when touching the yubikey.

Steps to reproduce:

  1. configure slot 1 OTP static password to 'vVV' (first letter is lowercase, 2 following letters upper case )
  2. Open a QT application (in our case we used QtCreator 4.11.0, Qt 5.12.8)
  3. Open any text field (e.g. the one found via Help->Index)
  4. When the field is empty, press few times backspace in that field, immediately followed by touching the yubi key to enter the password
  5. the password entered will be 'VVV' and not 'vVV'
  6. If you now press one more time on the yubi key, 'vVV' will be entered (so the content of the field will be 'VVVvVV' To get 100% reproducibility, it's important that the backspace is pressed a few times before touching the yubi key. If not, then we are only able to sometimes trigger this issue. This behavior happens in any Qt5 application running on our system. Not reproducible on Windows.

Did anyone else also encountered similar behavior in the past? Or could anyone perhaps confirm this behavior? And even better, is there some kind of fix available?


Solution

  • For anyone who encounters the same issue, it was caused by a bug in the Qt QPA X11/XCB layer. See https://bugreports.qt.io/browse/QTBUG-95933.