Trashed credentials are available in iOS autofill #1063

Closed
opened 2025-11-26 22:38:12 -06:00 by GiteaMirror · 0 comments
Owner

Originally created by @MattTheDev on GitHub (Jul 16, 2020).

Originally assigned to: @MattTheDev on GitHub.

Describe the Bug

Trashed credentials are possible credential options in iOS auto fill.

Steps To Reproduce

  1. Create a new credential.

Example:
TestCred
TestUser
TestPassword
Url Starts With: https://github.com

  1. Go to site, verify it's available. Close tab, close browser.
  2. Go to bitwarden, delete credential. Dont empty trash.
  3. Go back to to site, it's still available.

Issue is in ASHelpers.cs -

var ciphers = await cipherService.GetAllDecryptedAsync();

this pulls back all creds, even those in Trash. Can modify the next line from:

foreach (var cipher in ciphers)

to

foreach (var cipher in ciphers.Where(x => x.DeletedDate == null))

and not impact service AND prevent deleted creds from being processed.

Expected Result

Trashed credentials should no longer be an autofill option. The workaround is to completely delete them / empty out of trash. However, trash should be sufficient to make them no longer available.

Actual Result

They are available until completely emptied out of the trash.

Screenshots or Videos

N/A

Environment

  • Device: iPhone 8 Plus
  • Operating system: iOS 13.5.1
  • Build Version (go to "Settings" → "About" in the app): 2.5.0 (193)
  • Is this a Beta release? N

Additional Context

N/A

Originally created by @MattTheDev on GitHub (Jul 16, 2020). Originally assigned to: @MattTheDev on GitHub. ## Describe the Bug Trashed credentials are possible credential options in iOS auto fill. ## Steps To Reproduce 1. Create a new credential. Example: TestCred TestUser TestPassword Url Starts With: https://github.com 2. Go to site, verify it's available. Close tab, close browser. 3. Go to bitwarden, delete credential. Dont empty trash. 4. Go back to to site, it's still available. Issue is in ASHelpers.cs - var ciphers = await cipherService.GetAllDecryptedAsync(); this pulls back all creds, even those in Trash. Can modify the next line from: foreach (var cipher in ciphers) to foreach (var cipher in ciphers.Where(x => x.DeletedDate == null)) and not impact service AND prevent deleted creds from being processed. ## Expected Result Trashed credentials should no longer be an autofill option. The workaround is to completely delete them / empty out of trash. However, trash should be sufficient to make them no longer available. ## Actual Result They are available until completely emptied out of the trash. ## Screenshots or Videos N/A ## Environment - Device: iPhone 8 Plus - Operating system: iOS 13.5.1 - Build Version (go to "Settings" → "About" in the app): 2.5.0 (193) - Is this a Beta release? N ## Additional Context N/A
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#1063