Android: Cannot view login/secure note with "Master password re-prompt" enabled; app crashes when trying to edit #1724

Closed
opened 2025-11-26 22:56:22 -06:00 by GiteaMirror · 3 comments
Owner

Originally created by @WrichikBasu on GitHub (Sep 14, 2023).

Steps To Reproduce

  1. Click on a login/Secure note that has "Master Password Re-prompt" enabled.
  2. Click on the "eye" icon to view the hidden field.
  3. Enter master password.
  4. Nothing happens.
  5. Click on the edit Floating Action Button.
  6. Re-enter master password.

Expected Result

After correctly entering the master password, the user should be able to view or edit the hidden field or password.

Actual Result

If I try to view a hidden field, nothing happens. No error is thrown.

If I try to edit a secure note/login with master password re-prompt enabled, the app crashes as soon as the master password is entered. The following is the error retrieved from the logcat:

FATAL EXCEPTION: main
Process: com.x8bit.bitwarden, PID: 21097
android.runtime.JavaProxyThrowable: System.ArgumentNullException: Value cannot be null.
Parameter name: masterKey
  at Bit.Core.Services.CryptoService.HashMasterKeyAsync (System.String password, Bit.Core.Models.Domain.MasterKey masterKey, Bit.Core.Enums.HashPurpose hashPurpose) [0x000a2] in <3281c1630a0246acb55efa80334a969a>:0 
  at Bit.Core.Services.CryptoService.CompareAndUpdateKeyHashAsync (System.String masterPassword, Bit.Core.Models.Domain.MasterKey key) [0x00104] in <3281c1630a0246acb55efa80334a969a>:0 
  at Bit.App.Services.MobilePasswordRepromptService.ValidatePasswordAsync (System.String password) [0x00082] in <7641178c72984c95bf4757f6a4d8a417>:0 
  at Bit.App.Services.MobilePlatformUtilsService.ShowPasswordDialogAndGetItAsync (System.String title, System.String body, System.Func`2[T,TResult] validator) [0x0011f] in <7641178c72984c95bf4757f6a4d8a417>:0 
  at Bit.App.Services.MobilePlatformUtilsService.ShowPasswordDialogAsync (System.String title, System.String body, System.Func`2[T,TResult] validator) [0x00074] in <7641178c72984c95bf4757f6a4d8a417>:0 
  at Bit.App.Services.MobilePasswordRepromptService.PromptAndCheckPasswordIfNeededAsync (Bit.Core.Enums.CipherRepromptType repromptType) [0x000fd] in <7641178c72984c95bf4757f6a4d8a417>:0 
  at Bit.App.Pages.CipherDetailsPageViewModel.PromptPasswordAsync () [0x00084] in <7641178c72984c95bf4757f6a4d8a417>:0 
  at Bit.App.Pages.CipherDetailsPage.EditToolbarItem_Clicked (System.Object sender, System.EventArgs e) [0x00169] in <7641178c72984c95bf4757f6a4d8a417>:0 
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <030421b6ace0407aa79dae940cd999bb>:0 
  at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <d387e27a2766423fa5c2ebd025cc48cb>:0 
  at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <d387e27a2766423fa5c2ebd025cc48cb>:0 
  at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <d387e27a2766423fa5c2ebd025cc48cb>:0 
  at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V (_JniMarshal_PP_V callback, System.IntPtr jnienv, System.IntPtr klazz) [0x00005] in <d387e27a2766423fa5c2ebd025cc48cb>:0 
	at mono.java.lang.RunnableImplementor.n_run(Native Method)
	at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:31)
	at android.os.Handler.handleCallback(Handler.java:938)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:226)
	at android.os.Looper.loop(Looper.java:313)
	at android.app.ActivityThread.main(ActivityThread.java:8751)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135)

Screenshots or Videos

No response

Additional Context

Happens in the latest stable release of the app; v2023.7.0 is unaffected.

The exception is thrown irrespective of correct or incorrect master password.

Operating System

Android

Operating System Version

API Level 33 (Android 12)

Device

Samsung Galaxy M31

Build Version

2023.8.0 (7466)

Beta

  • Using a pre-release version of the application.
Originally created by @WrichikBasu on GitHub (Sep 14, 2023). ### Steps To Reproduce 1. Click on a login/Secure note that has "Master Password Re-prompt" enabled. 1. Click on the "eye" icon to view the hidden field. 1. Enter master password. 1. Nothing happens. 1. Click on the edit Floating Action Button. 1. Re-enter master password. ### Expected Result After correctly entering the master password, the user should be able to view or edit the hidden field or password. ### Actual Result If I try to **view** a hidden field, nothing happens. No error is thrown. If I try to **edit** a secure note/login with master password re-prompt enabled, the app crashes as soon as the master password is entered. The following is the error retrieved from the logcat: ``` FATAL EXCEPTION: main Process: com.x8bit.bitwarden, PID: 21097 android.runtime.JavaProxyThrowable: System.ArgumentNullException: Value cannot be null. Parameter name: masterKey at Bit.Core.Services.CryptoService.HashMasterKeyAsync (System.String password, Bit.Core.Models.Domain.MasterKey masterKey, Bit.Core.Enums.HashPurpose hashPurpose) [0x000a2] in <3281c1630a0246acb55efa80334a969a>:0 at Bit.Core.Services.CryptoService.CompareAndUpdateKeyHashAsync (System.String masterPassword, Bit.Core.Models.Domain.MasterKey key) [0x00104] in <3281c1630a0246acb55efa80334a969a>:0 at Bit.App.Services.MobilePasswordRepromptService.ValidatePasswordAsync (System.String password) [0x00082] in <7641178c72984c95bf4757f6a4d8a417>:0 at Bit.App.Services.MobilePlatformUtilsService.ShowPasswordDialogAndGetItAsync (System.String title, System.String body, System.Func`2[T,TResult] validator) [0x0011f] in <7641178c72984c95bf4757f6a4d8a417>:0 at Bit.App.Services.MobilePlatformUtilsService.ShowPasswordDialogAsync (System.String title, System.String body, System.Func`2[T,TResult] validator) [0x00074] in <7641178c72984c95bf4757f6a4d8a417>:0 at Bit.App.Services.MobilePasswordRepromptService.PromptAndCheckPasswordIfNeededAsync (Bit.Core.Enums.CipherRepromptType repromptType) [0x000fd] in <7641178c72984c95bf4757f6a4d8a417>:0 at Bit.App.Pages.CipherDetailsPageViewModel.PromptPasswordAsync () [0x00084] in <7641178c72984c95bf4757f6a4d8a417>:0 at Bit.App.Pages.CipherDetailsPage.EditToolbarItem_Clicked (System.Object sender, System.EventArgs e) [0x00169] in <7641178c72984c95bf4757f6a4d8a417>:0 at System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) [0x00000] in <030421b6ace0407aa79dae940cd999bb>:0 at Android.App.SyncContext+<>c__DisplayClass2_0.<Post>b__0 () [0x00000] in <d387e27a2766423fa5c2ebd025cc48cb>:0 at Java.Lang.Thread+RunnableImplementor.Run () [0x00008] in <d387e27a2766423fa5c2ebd025cc48cb>:0 at Java.Lang.IRunnableInvoker.n_Run (System.IntPtr jnienv, System.IntPtr native__this) [0x00008] in <d387e27a2766423fa5c2ebd025cc48cb>:0 at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PP_V (_JniMarshal_PP_V callback, System.IntPtr jnienv, System.IntPtr klazz) [0x00005] in <d387e27a2766423fa5c2ebd025cc48cb>:0 at mono.java.lang.RunnableImplementor.n_run(Native Method) at mono.java.lang.RunnableImplementor.run(RunnableImplementor.java:31) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8751) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135) ``` ### Screenshots or Videos _No response_ ### Additional Context Happens in the latest stable release of the app; v2023.7.0 is unaffected. The exception is thrown irrespective of correct or incorrect master password. ### Operating System Android ### Operating System Version API Level 33 (Android 12) ### Device Samsung Galaxy M31 ### Build Version 2023.8.0 (7466) ### Beta - [ ] Using a pre-release version of the application.
GiteaMirror added the bug label 2025-11-26 22:56:22 -06:00
Author
Owner

@djsmith85 commented on GitHub (Sep 14, 2023):

Duplicate of https://github.com/bitwarden/mobile/issues/2733

@djsmith85 commented on GitHub (Sep 14, 2023): Duplicate of https://github.com/bitwarden/mobile/issues/2733
Author
Owner

@djsmith85 commented on GitHub (Sep 14, 2023):

Hi @WrichikBasu,

This seems to have previously been reported with https://github.com/bitwarden/mobile/issues/2733 and a fix has been issued with https://github.com/bitwarden/mobile/pull/2713 which will be included in the next release (2023.9)

This issue will now be closed.

Thanks!

@djsmith85 commented on GitHub (Sep 14, 2023): Hi @WrichikBasu, This seems to have previously been reported with https://github.com/bitwarden/mobile/issues/2733 and a fix has been issued with https://github.com/bitwarden/mobile/pull/2713 which will be included in the next release (2023.9) This issue will now be closed. Thanks!
Author
Owner

@WrichikBasu commented on GitHub (Sep 14, 2023):

Ohk, good.

@WrichikBasu commented on GitHub (Sep 14, 2023): Ohk, good.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#1724