[PR #3896] [MERGED] [PM-11884] Perform origin validation during FIDO 2 auth #4504

Closed
opened 2025-11-26 23:45:32 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/bitwarden/android/pull/3896
Author: @SaintPatrck
Created: 9/10/2024
Status: Merged
Merged: 9/18/2024
Merged by: @SaintPatrck

Base: mainHead: PM-11884/validate-origin-on-auth


📝 Commits (3)

  • b40e591 [PM-11884] Perform origin validation during FIDO 2 auth
  • 2e62f18 Merge branch 'main' into PM-11884/validate-origin-on-auth
  • 11b9259 Merge branch 'main' into PM-11884/validate-origin-on-auth

📊 Changes

8 files changed (+422 additions, -261 deletions)

View changed files

📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManager.kt (+4 -2)
📝 app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManagerImpl.kt (+43 -47)
📝 app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt (+78 -48)
📝 app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt (+12 -3)
📝 app/src/test/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManagerTest.kt (+176 -140)
📝 app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/sdk/VaultSdkSourceTest.kt (+1 -1)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/PasskeyAssertionOptionsTestHelpers.kt (+2 -1)
📝 app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt (+106 -19)

📄 Description

🎟️ Tracking

https://bitwarden.atlassian.net/browse/PM-11884

📔 Objective

Perform origin and asset link validation during the FIDO 2 credential authentication process.

If the request originates from a privileged application (web browser on behalf of RP), the calling app is validated against our internal allow list.

If the request originates from an unprivileged RP application the RP's asset link is used to validate the application's authenticity.

If origin or asset link validation is unsuccessful for any reason, the user is notified and the operation is terminated according to the WebAuthn spec.

Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed
    issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/bitwarden/android/pull/3896 **Author:** [@SaintPatrck](https://github.com/SaintPatrck) **Created:** 9/10/2024 **Status:** ✅ Merged **Merged:** 9/18/2024 **Merged by:** [@SaintPatrck](https://github.com/SaintPatrck) **Base:** `main` ← **Head:** `PM-11884/validate-origin-on-auth` --- ### 📝 Commits (3) - [`b40e591`](https://github.com/bitwarden/android/commit/b40e5911b9495fea95eb8b49ea693fb5c5dbb9f9) [PM-11884] Perform origin validation during FIDO 2 auth - [`2e62f18`](https://github.com/bitwarden/android/commit/2e62f1876e93005db743bfa19399199acd0cd305) Merge branch 'main' into PM-11884/validate-origin-on-auth - [`11b9259`](https://github.com/bitwarden/android/commit/11b9259273db72c207ed43f3c024d569a608b5d6) Merge branch 'main' into PM-11884/validate-origin-on-auth ### 📊 Changes **8 files changed** (+422 additions, -261 deletions) <details> <summary>View changed files</summary> 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManager.kt` (+4 -2) 📝 `app/src/main/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManagerImpl.kt` (+43 -47) 📝 `app/src/main/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModel.kt` (+78 -48) 📝 `app/src/test/java/com/x8bit/bitwarden/MainViewModelTest.kt` (+12 -3) 📝 `app/src/test/java/com/x8bit/bitwarden/data/autofill/fido2/manager/Fido2CredentialManagerTest.kt` (+176 -140) 📝 `app/src/test/java/com/x8bit/bitwarden/data/vault/datasource/sdk/VaultSdkSourceTest.kt` (+1 -1) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/addedit/util/PasskeyAssertionOptionsTestHelpers.kt` (+2 -1) 📝 `app/src/test/java/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingViewModelTest.kt` (+106 -19) </details> ### 📄 Description ## 🎟️ Tracking https://bitwarden.atlassian.net/browse/PM-11884 ## 📔 Objective Perform origin and asset link validation during the FIDO 2 credential authentication process. If the request originates from a privileged application (web browser on behalf of RP), the calling app is validated against our internal allow list. If the request originates from an unprivileged RP application the RP's asset link is used to validate the application's authenticity. If origin or asset link validation is unsuccessful for any reason, the user is notified and the operation is terminated according to the WebAuthn spec. ## ⏰ Reminders before review - Contributor guidelines followed - All formatters and local linters executed and passed - Written new unit and / or integration tests where applicable - Used internationalization (i18n) for all UI strings - CI builds passed - Communicated to DevOps any deployment requirements - Updated any necessary documentation or informed the documentation team ## 🦮 Reviewer guidelines <!-- Suggested interactions but feel free to use (or not) as you desire! --> - 👍 (`:+1:`) or similar for great changes - 📝 (`:memo:`) or ℹ️ (`:information_source:`) for notes or general info - ❓ (`:question:`) for questions - 🤔 (`:thinking:`) or 💭 (`:thought_balloon:`) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion - 🎨 (`:art:`) for suggestions / improvements - ❌ (`:x:`) or ⚠️ (`:warning:`) for more significant problems or concerns needing attention - 🌱 (`:seedling:`) or ♻️ (`:recycle:`) for future improvements or indications of technical debt - ⛏ (`:pick:`) for minor or nitpick changes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2025-11-26 23:45:32 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/android#4504