strongbox-password-safe / Strongbox

A KeePass/Password Safe Client for iOS and OS X
https://strongboxsafe.com
GNU Affero General Public License v3.0
1.33k stars 102 forks source link

[BUG] Strongbox Autofill unlock with system-profile password instead of Strongbox password when Touch ID enabled #790

Closed pictosun closed 2 months ago

pictosun commented 3 months ago

I have ensured that:

I setup Strongbox to only use Touch ID or Strongbox or Master-Password for macOS to unlock app and database! This is working fine and without any issues. But when logged in and working with Strongbox and trying to fill a password within Safari I do need to use Touch ID again to fill the credentials (which is fine in general), but it is 'not' asking for the Master-Password! When clicking 'use password' I need to enter my system-profile password of my Mac!

Steps to reproduce the behavior:

A clear and concise description of what you expected to happen.

Add any other context about the problem here.

strongbox-mark commented 3 months ago

Hi @pictosun - I'm not seeing that. Would you be able to send a screen recording? I see a button for "Manual Unlock" which falls back to asking for the database master password. I don't see a "Use Password" button so I must be doing something wrong.

By any chance is your database already unlocked in the background when you see this request?

pictosun commented 3 months ago

By any chance is your database already unlocked in the background when you see this request?

Hi @strongbox-mark - this is the case. Does it only work, when the database is locked?

strongbox-mark commented 3 months ago

OK, yeah that makes more sense, your database is already unlocked and so entering your system master password is not unlocking your database but merely allowing an AutoFill.

The reason you see this dialog is nothing to do with Strongbox, Apple's AutoFill subsystem pops up this Touch ID prompt, not Strongbox. It does this when Strongbox tells the system it can provide the credential without any user interaction which it does when it sees the database is unlocked and there is no need to interrupt the user. In this case, probably for some security reasons, it asks the user to do a Touch ID (or enter the profile password). Does that make sense?