Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync not reliable when database uses yubikey and is used on two PCs at the same time #9336

Closed
liayn opened this issue Apr 19, 2023 · 2 comments

Comments

@liayn
Copy link

liayn commented Apr 19, 2023

Overview

I'm using a database protected with a yubikey as additional factor.
The database is stored on OneDrive and hence shared between my Windows Laptop and Linux PC.

The database is usually open on both at the same time.

Changes are not synced properly and even led to a lost password after a manual DB merge.

Steps to Reproduce

  1. Create a database protected with a yubikey and store it on a cloud storage (OneDrive in my case)
  2. Open the database on first PC (yubikey must be present)
  3. Open the database on second PC (yubikey moved to this PC)
  4. Modify an entry on the second PC and save the database (yubikey must be present)
  5. Watch KeepassXC on first PC trying to merge the changes due to the detected file change.
  6. The merge fails due to missing yubikey
  7. A red error box is shown briefly but vanishes
  8. The database on first PC is marked as modified (* in the title bar)

Expected Behavior

KeePassXC should allow to retry the merge by providing an appropriate button when the initial sync fails in step 6

Put the user in charge of providing the yubikey and hitting the button.

Note: Using the menu option to merge databases by selecting the same database again does work somehow, but managed to actually dismiss changes that have been made on the second PC. Besides that, doing this manually every time is cumbersome.

KeePassXC should show what has been modified in the database somewhere

If a database is marked as modified, there should be an overview what's changed.
In my case above the database on the first PC was unmodified before the failed sync and shows as modified afterwards.
If one forgets to do a manual database merge and simply saves the database, one actually overrides all changes that should have been merged in from the file changed by the second PC. 🤨

Actual Behavior

Databases are not synced, due to missing yubikey.

Context

KeePassXC - Version 2.7.4
Revision: 63b2394

on both PCs

First PC:

Operating System: Windows 10

Second PC:

Operating System: Linux
Desktop Env: KDE
Windowing System: X11

@liayn liayn added the bug label Apr 19, 2023
@droidmonkey
Copy link
Member

droidmonkey commented Apr 19, 2023

If you are using the same database protected by yubikey in two locations at the same time, then you need to buy another yubikey or remove that protection method. There is an open bug for the data loss issue that doesn't just impact yubikey, it's just more obvious for yubikey users across multiple devices. #5290

@droidmonkey droidmonkey closed this as not planned Won't fix, can't repro, duplicate, stale Apr 19, 2023
@liayn
Copy link
Author

liayn commented Apr 19, 2023

Thanks for the response and sorry for the duplicate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants