Issue:
After changing the KDF to Argon2id and initial successful login, Android app becomes unresponsive on subsequent attempts to open the app.
Environment:
BitWarden app: 2025.1.2 (19740)
Device: Samsung S10e SM-G970U1
OS: Android 12
Kernel: 4.14.190
Reproduction steps:
- I logged into Web Vault and changed my KDF
From: PBKDF SHA-256, 100000 iterations
To: Argon2id, 6 iterations, 128 MB memory, 8 parallelism
As expected, I was logged out of all devices. - I opened the mobile app, I entered my email address (with remember me), password, and 2FA (with remember me), and logged in successfully. I could browse my vault. I changed the security settings to enable biometrics, then closed the app.
- When I reopened the app, it prompted for biometrics, then didn’t do anything. I assumed the KDF was taking a long time to run, so I left it for over two minutes. I then force closed the app.
- I logged into Web Vault and changed my KDF again
To: Argon2id, 3 iterations, 64 MB memory, 4 parallelism - I opened the app, logged in successfully, and could browse my vault. Enabled biometrics and closed.
- When I reopened the app, it prompted for biometrics, then hung.
- I opened Settings > Apps > Bitwarden > Storage, and cleared cache and data.
- I opened the app, logged in successfully, and could browse my vault. Didn’t enable biometrics, and closed the app.
- When I reopened the app, it hung.
- I logged into Web Vault and changed my KDF again
To: PBKDF SHA-256, 600000 iterations - I opened the app, logged in successfully, and could browse my vault. Enabled biometrics and closed.
- When I reopened the app, it hung.
- I deleted the app completely and reinstalled from Play Store.
- I opened the app, logged in successfully, and could browse my vault. Enabled biometrics and closed.
- When I reopened the app, it worked successfully. I closed and opened it several items without issue. I therefore assumed it needed a clean install between changing the KDF.
- I logged into Web Vault and changed my KDF again
To: Argon2id, 3 iterations, 64 MB memory, 4 parallelism - I deleted the app and reinstalled from Play Store.
- I opened the app, logged in successfully.
- When I reopened the app, it hung.
- I logged into Web Vault and changed my KDF again
To: PBKDF SHA-256, 600000 iterations - I opened the app, logged in successfully.
- When I reopened the app, it worked successfully. Closed and opened several times without issue. Didn’t need to reinstall or clear the cache.
I therefore believe the issue is with the Argon2id KDF, although I don’t understand why it works for the first login and not for subsequent logins.