Keepassxc-browser: "Search in all opened databases for matching credentials" broken in 2.4.3 on MacOS

Created on 13 Aug 2019  Â·  30Comments  Â·  Source: keepassxreboot/keepassxc-browser

Expected Behavior



I have the "Search in all opened databases for matching credentials" turned on and open multiple databases. In Chrome, I attach keepassxc-browser to KeePassXC with one of the datbases. When I open a URL with credentials that exit only in the 1st database (the one that shows Connected), it finds the credentials and auto-fills them into the form. When I open a URL with credentials that exist only in the 2nd database (not the one that shows Connected) it finds the credentials and auto-fills them into the form.

Current Behavior



I have the "Search in all opened databases for matching credentials" turned on and open multiple databases. In Chrome, I attach keepassxc-browser to KeePassXC with one of the datbases. When I open a URL with credentials that exit only in the 1st database (the one that shows Connected), it finds the credentials and auto-fills them into the form. When I open a URL with credentials that exist only in the 2nd database (not the one that shows Connected) it does NOT find the credentials.

Possible Solution


Steps to Reproduce (for bugs)


  1. Create/Open two databases in Keepass
  2. Put credentials from one site into the 1st DB
  3. Put credentials from another size into the 2nd DB
  4. Connect KeePassXC-Browser to the 1st DB
  5. Navigate to the site in the 1st DB - it works
  6. Navigate to the site in the 2nd DB - no passwords found

Debug info


KeePassXC - 2.4.3
KeePassXC-Browser - 1.4.7
Operating system: MacIntel
Browser: Chrome/Chromium 76.0.3809.100

PR pending bug

All 30 comments

You have to connect the extension to all databases. It doesn't make sense if you connect only one database and you would automatically retrieve any credentials from all other databases too. The extension must have a permission do access a database.

How do I do that? I hit “Connect” and it does nothing of the connection was already there.

Derrick

Switch to the 2nd DB from KeePassXC and connect that from the extension.

I’ve tried that and it does not let me.

So the 2nd DB is not connected and nothing happens when you click Connect? Or is this some other issue?

Yeah, here are the exact steps I perform.

  1. I removed all DB connections from KeepassXC-Browser
  2. I open the DB-1 and DB-2 in KeepassXC
  3. I click on DB-1 in KeepassXC so that it is active
  4. I go to KeepassXC-Browser and click on Connect and it prompts for Key Association
  5. I put in a label and choose Save and allow access
  6. I refresh the browser and the DB is connected
  7. I click on DB-2 in KeepassXC so that it is active
  8. I go to KeepassXC-Browser and click on Connect and nothing happens….

Am I doing something incorrect?

If I remove the existing connection, then I can enable a connection to DB-2 .. but I can never get to where both DBs are shown under Connected Databases in KeepassXC-Browser

Those should be the steps to get it work. I'll try to reproduce it when I have some time.

I am having the exact same issue, but Firefox Linux. Cannot connect to more than 1 db, and the "Search in all..." does nothing.

Does it matter if you press Connect from the popup and not from the settings page?

I don’t see an option to connect from the popup, unless I don’t have a connection … it still allows a connection only to 1 database.

Same here. I have two DBs and can only access one of them at a time.

I already removed all DB connections from the KeepasXC-Browser plugin, opened both DBs and
tried to reconnect, but the "Connect" button only works, as long as there's no DB connection configured.

KeePassXC-Browser Version: 1.4.7
KeePassXC Version: 2.4.3
Chrome 76.0.3809.132
macOS 10.14.6

@lennartjuette You have to remove the connected databases from KeePassXC side also if you want to "reset" the situation. Found in Database settings -> Browser Integration -> Disconnect all browsers.

  1. Clear connection settings in both DBs and in the Browser Plugin
  2. Restart the browser and KeePassXC
  3. Open KeePassXC Browser "Settings" > "Connection Settings" and click "Connect"
    Nothing happens

With one of the two DBs open:
Clicking "Reload" and then "Reconnect" in the Browser-Popup opens a modal popup in KeePassXC, that allows me to create a new connection.
Observation: Then I closed the first DB and opened the second, unconfigured (!) one and was still able to retrieve credentials! Is this working as expected?
I checke the DBs settings, there were no saved keys!

Anyhow: I closed KeePassXC completely and restarted it, then no connection was possible, which was expected.

Now I went through the "Reload" and "Reconnect" cycle via browser popup again.

Going back to the browser's connection settings, I only see as single entry, always the database I connected last. Using the same identifier for the databases or different ones does not make a difference.

@lennartjuette There are fixes coming to the next KeePassXC release concerning these issues.

Please make sure the extension is connected to KeePassXC before clicking the Connect button for connecting a database.

YAY! It's fixed!

Sweet! Just tested and it is now working on my Mac. Thanks to the team for fixing!

Still not working for me in Chrome + Windows10 :/

Every time i change the current active database in KeePassXC and then go into the browser to login, the browser-extension tries to create new credentials for connected database

@mario0511 I could not reproduce this. I had two databases open and I tried to log in with credentials that are in non-active database.

@varjolintu, thanks for asking.

I have 2 databases opened in KeePassXC, DB-1 (currently active database) and DB-2. On each i have different login-credentials for the same website.

When i try to login on that website, i get only 1 login-credentials suggested by KeePassXC instead of 2.

From my perspective it should offer both login-credentials, the one from DB-1 and the other from DB-2.

Also, when i select DB-2 as the current selected database, i get 0 credentials suggested by KeePassXC, even though i've authorized the browser to have access to DB-2.

I run the following versions:
OS: Windows 10 Pro 1903 (64-Bit)
Chrome: Version 78.0.3904.97 (Official Build) (64-Bit)
KeePassXC: 2.5.0 (Installed version, not the portable)
KeePassXC-Browser: 1.5.3

@mario0511 I'd suggest you to try to delete all browser connection keys from DB-2 (from Database settings) and remove the key also from the extension side (Connected Databases). Then try connecting the DB-2 again. If DB-2 alone doesn't return any credentials, there's clearly something wrong.

I removed all connection keys, in the browser-extension and in both databases. After that i authorized the browser for DB-2. Now the extension suggests the login-credentials from DB-2 but not ones from DB-1.

Even if you are using DB-1 alone? Make the same procedure to it.

As i deleted the connection keys, i have to authorize the browser for DB-1. After doing that, i get access to DB-1 but emmidiatly loose access to DB-2, even the browser-extension still showing both connection keys.

I seems like, as soon as i authorize a second database in the browser-extension, i loose the connection to the first.

If i use only 1 database then clearly there are no problems.

The browser extension only suggests login-credentials for the last authorized database, and only if it is the current selected database

FYI: After creating a connection key (authorize) for a second database... as soon as i refresh the "connected databases" page, where it should show all authorization key, it shows only the last created key

This is probably happening because your second database is a clone from the first one (you can check the Root group UUID's to confirm that). If you make a third test database, it should work normally. You can also move your entries from DB-2 to that new database.

The reason why a clone is not working is because we use the Root group UUID calculating the database hash with the extension. There's already an issue made about it.

Thats right, it is a clone from the first database. Where can i check the UUID?

And how can i move the entries from one to another database?

Right-click the Root group, and select _Edit group_. There's a _Properties_ page where you can see the UUID.

@varjolintu thats right, both have the same UUID.

How can i move my entries and groups to a other database?

Create a new database, then select _Database_ -> _Merge from database_ from the file menu. That should do the trick. Plus it doesn't affect your original database so it's easy to test.

Works like a charm! :-*
All problems on my end are solved.
Thank you very much for the support, awesome!

Was this page helpful?
0 / 5 - 0 ratings