Closed Bug 1974025 (CVE-2025-10530) Opened 11 months ago Closed 9 months ago

intent:// can bypass fido:/ URI block

Categories

(Firefox for Android :: WebAuthn, defect, P2)

defect

Tracking

()

RESOLVED FIXED
144 Branch
Tracking Status
firefox142 --- wontfix
firefox143 + fixed
firefox144 + fixed

People

(Reporter: sas.kunz, Assigned: m_kato)

References

Details

(Keywords: csectype-spoof, reporter-external, sec-moderate, Whiteboard: [client-bounty-form][fxdroid][adv-main143+][group7])

Attachments

(5 files)

the vulnerability is same as
https://bugzilla.mozilla.org/show_bug.cgi?id=1922357
https://issues.chromium.org/issues/401823929

the original fix is a case sensitive check on the intent, it checks for "fido" and not "FIDO".
POC link that will start FIDO activity when clicked. The file also includes links that are blocked and the console output when clicked.

The fix seams to be fairly straight forward. Use a case insensitive match.

  1. open http://thundering-unruly-windflower.glitch.me/fido.html
    2, click on intent://123456...#Intent;scheme=FIDO;end link
Flags: sec-bounty?
Group: firefox-core-security → mobile-core-security
Component: Security → WebAuthn
Flags: needinfo?(jschanck)
Keywords: csectype-spoof
Product: Firefox → Firefox for Android
See Also: → CVE-2024-9956

I do see what looks like a few tests for FIDO:/ so I'm not sure why that doesn't catch a problem here.

Attached video fido.mp4
Attached file fido.html
Duplicate of this bug: 1974026
Flags: needinfo?(jschanck) → needinfo?(jboek)

Looks more like we're returning getSafeIntent(aUri) before we check whether the scheme is fido:, rather than it being a case-sensitive comparison. If the URL is not normalized to a lowercase scheme by the time we're doing those checks then FIDO isn't the only scheme that could have a problem!

Gela: Looks like jboek hasn't active on bugzilla for a while. Can you find an appropriate person to handle this one?

Flags: needinfo?(gmalekpour)
Flags: needinfo?(jboek)

@m_kato, since you are familiar with the Android FIDO code, can you take a look at this? Thanks.

Assignee: nobody → m_kato
Flags: needinfo?(gmalekpour)

The severity field is not set for this bug.
:boek, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(jboek)

I've reached out to Makoto directly in case this got lost in the Bugzilla notifications :)

Flags: needinfo?(jboek) → needinfo?(m_kato)

I will look it

Flags: needinfo?(m_kato)

I guess that we need to check Intent.getData().getScheme()

Attached file (secure)
Whiteboard: [client-bounty-form] → [client-bounty-form][fxdroid]

The severity field is not set for this bug.
:boek, could you have a look please?

For more information, please visit BugBot documentation.

Flags: needinfo?(jboek)
Severity: -- → S3
Priority: -- → P2
Flags: needinfo?(jboek)

Comment on attachment 9499992 [details]
(secure)

Security Approval Request

  • How easily could an exploit be constructed based on the patch?: When clicking a link that is fido: scheme, content can hijacking fido2 authentication. This has fixed by bug bug 1922357, but we have to consider intent URI that has fido scheme. This occurs same issue if using intent scheme with internal fido scheme.
  • Do comments in the patch, the check-in comment, or tests included in the patch paint a bulls-eye on the security problem?: No
  • Which branches (beta, release, and/or ESR) are affected by this flaw, and do the release status flags reflect this affected/unaffected state correctly?: yes
  • If not all supported branches, which bug introduced the flaw?: None
  • Do you have backports for the affected branches?: Yes
  • If not, how different, hard to create, and risky will they be?:
  • How likely is this patch to cause regressions; how much testing does it need?: Nothing. we block intent uri with fido scheme. It isn't usual.
  • Is the patch ready to land after security approval is given?: Yes
  • Is Android affected?: Yes

Comment on attachment 9499992 [details]
(secure)

Security Approval Request

  • How easily could an exploit be constructed based on the patch?: When clicking a link that is fido: scheme, content can hijacking fido2 authentication. This has fixed by bug bug 1922357, but we have to consider intent URI that has fido scheme. This occurs same issue if using intent scheme with internal fido scheme.
  • Do comments in the patch, the check-in comment, or tests included in the patch paint a bulls-eye on the security problem?: Yes
  • Which branches (beta, release, and/or ESR) are affected by this flaw, and do the release status flags reflect this affected/unaffected state correctly?: yes
  • If not all supported branches, which bug introduced the flaw?: None
  • Do you have backports for the affected branches?: Yes
  • If not, how different, hard to create, and risky will they be?:
  • How likely is this patch to cause regressions; how much testing does it need?: Nothing. we block intent uri with fido scheme. It isn't usual.
  • Is the patch ready to land after security approval is given?: Yes
  • Is Android affected?: Yes
Attachment #9499992 - Flags: sec-approval?

Comment on attachment 9499992 [details]
(secure)

sec-moderates don't need approval to land, please go ahead and do so and add a Beta uplift request when you're comfortable doing so.

Flags: needinfo?(m_kato)
Attachment #9499992 - Flags: sec-approval?
Group: mobile-core-security → core-security-release
Status: NEW → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 144 Branch

Comment on attachment 9499992 [details]
(secure)

Beta/Release Uplift Approval Request

  • User impact if declined/Reason for urgency: When clicking a link that is fido: scheme, content can hijacking fido2 authentication. This has fixed by bug bug 1922357, but we have to consider intent URI that has fido scheme. This occurs same issue if using intent scheme with internal fido scheme.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Low. fido: scheme is already disallowed.
  • String changes made/needed: No
  • Is Android affected?: Yes
Flags: needinfo?(m_kato)

Comment on attachment 9499992 [details]
(secure)

Beta/Release Uplift Approval Request

  • User impact if declined/Reason for urgency: When clicking a link that is fido: scheme, content can hijacking fido2 authentication. This has fixed by bug bug 1922357, but we have to consider intent URI that has fido scheme. This occurs same issue if using intent scheme with internal fido scheme.
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Low. fido: scheme is already disallowed.
  • String changes made/needed: No
  • Is Android affected?: Yes
Attachment #9499992 - Flags: approval-mozilla-beta?

Comment on attachment 9499992 [details]
(secure)

Approved for 143.0b8.

Attachment #9499992 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: sec-bounty? → sec-bounty+

thank you.
if this bug gets a cve can the credit be given to:
hafiizh (https://www.linkedin.com/in/hafiizh-7aa6bb31) & kang ali (https://www.linkedin.com/in/mohammad-ali-syarief)?

Flags: needinfo?(tom)

Yes (although CVE reporter fields don't include links)

Flags: needinfo?(tom)
Whiteboard: [client-bounty-form][fxdroid] → [client-bounty-form][fxdroid][adv-main143+]
See Also: → CVE-2026-2800
Alias: CVE-2025-10530
Duplicate of this bug: 1988758
Duplicate of this bug: CVE-2026-2800
Whiteboard: [client-bounty-form][fxdroid][adv-main143+] → [client-bounty-form][fxdroid][adv-main143+][group7]
No longer duplicate of this bug: CVE-2026-2800
Group: core-security-release
Attachment #9499993 - Attachment description: (secure) → Bug 1974025 - Add more tests for FIDO intent URI. r=#geckoview-reviewers
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: