Tapjacking Android dialog to launch intents
Categories
(Firefox for Android :: Browser Engine, defect, P2)
Tracking
()
People
(Reporter: fazim.pentester, Assigned: amejia)
References
Details
(4 keywords, Whiteboard: [reporter-external] [client-bounty-form] [verif?] [group2] [fxdroid][reminder-test 2025-01-21][adv-main133+] [qa-triaged])
Attachments
(8 files, 6 obsolete files)
|
1.54 MB,
video/mp4
|
Details | |
|
1.37 KB,
text/html
|
Details | |
|
839.25 KB,
video/mp4
|
Details | |
|
48 bytes,
text/x-phabricator-request
|
tjr
:
sec-approval+
|
Details | Review |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-beta+
|
Details | Review |
|
315 bytes,
text/plain
|
Details | |
|
1.14 MB,
video/mp4
|
Details |
Android applications with unpatched vulnerabilities can be launched from a browser using Intents. Firefox confirms with users whether they want to launch an external application before proceeding, providing protection against these vulnerabilities.
In this proof of concept, I will demonstrate a method where an attacker could lure the victim into unknowingly allow an intent through Tapjacking, using an engaging game.
Steps to Reproduce:
1 . Download the file poc.html to a folder
2. Start a Python server on the same folder by running the command python -m http.server 8080.
3. Open the Android Firefox browser and navigate to the server at http://{YOUR-SERVER-IP}:8080/poc.html to Begin testing.
| Reporter | ||
Comment 1•2 years ago
|
||
Video Demonstration: https://youtu.be/EEgzG7ZqcYY (YouTube Unlisted)
| Reporter | ||
Comment 2•2 years ago
|
||
Similar issue: https://bugzilla.mozilla.org/show_bug.cgi?id=1810705
Updated•2 years ago
|
| Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
| Reporter | ||
Updated•2 years ago
|
Comment 3•2 years ago
|
||
Shaheen, thanks for the POC. I'll make sure this bug gets triaged.
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
| Reporter | ||
Comment 4•1 year ago
|
||
Friendly ping.
Updated•1 year ago
|
Updated•1 year ago
|
Comment 5•1 year ago
|
||
Assigning this bug to Android squad 2.
I'm having a tough time reproducing this on Android. I see the counter (x6, x5, ...) on the browser but nothing happens when I click on the red box on my Pixel.
| Reporter | ||
Comment 7•1 year ago
|
||
| Reporter | ||
Comment 8•1 year ago
|
||
My original PoC was outdated (I believe the intent I provided no longer works), but I have just attached a new PoC. Please try with this one test.html.
| Reporter | ||
Comment 9•1 year ago
|
||
| Reporter | ||
Comment 10•1 year ago
|
||
| Reporter | ||
Comment 11•1 year ago
|
||
Hi Gela, I just updated the PoC ( poc.html ). Can you test this again and see if it is working? Thank you.
Comment 12•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 13•1 year ago
|
||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 14•1 year ago
|
||
Comment 15•1 year ago
|
||
Updated•1 year ago
|
| Reporter | ||
Comment 16•1 year ago
|
||
Hi, can we get an update on this issue? Thanks.
| Reporter | ||
Comment 17•1 year ago
|
||
Hi Gela, could you update on the issue? Thank you.
Comment 18•1 year ago
|
||
Hello, apologies for the delay. I put up a patch for this a while back but there were some feedbacks on it and other high priority items came up but I am picking this back up today. I will post an update here once I make progress.
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 19•1 year ago
|
||
| Assignee | ||
Comment 20•1 year ago
|
||
Depends on D226961
| Assignee | ||
Updated•1 year ago
|
| Assignee | ||
Comment 21•1 year ago
|
||
Comment on attachment 9433431 [details]
Bug 1836921 - Improve dialogs
Security Approval Request
- How easily could an exploit be constructed based on the patch?: It's not that easy.
- 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?: beta, and release
- If not all supported branches, which bug introduced the flaw?: None
- Do you have backports for the affected branches?: No
- 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?: Not likely, we are reassuring a already existing security component for prompts
- Is the patch ready to land after security approval is given?: Yes
- Is Android affected?: Yes
Comment 22•1 year ago
|
||
Comment on attachment 9433431 [details]
Bug 1836921 - Improve dialogs
Approved to land and uplift
Updated•1 year ago
|
Comment 23•1 year ago
|
||
Comment 24•1 year ago
|
||
Backed out for causing lint failures:
https://hg.mozilla.org/integration/autoland/rev/51801ac1801c88dd43474b014d51a06510a28218
Comment 25•1 year ago
|
||
Comment 26•1 year ago
|
||
Comment 27•1 year ago
|
||
Arturo, please add a beta uplift request on this when you have a moment.
I need to uplift it by eod tomorrow to include it in the final Fx133 beta build.
| Assignee | ||
Comment 28•1 year ago
|
||
So far we only have done devs verification, should we need to wait until QA can validate in nightly before uplifting?
| Assignee | ||
Updated•1 year ago
|
Comment 29•1 year ago
|
||
(In reply to Arturo Mejia [:amejia] from comment #28)
So far we only have done devs verification, should we need to wait until QA can validate in nightly before uplifting?
It can still get an uplift request with a risk assessment
| Assignee | ||
Comment 31•1 year ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D226961
Updated•1 year ago
|
Comment 32•1 year ago
|
||
beta Uplift Approval Request
- User impact if declined: User will still experiment the exploit
- Code covered by automated testing: yes
- Fix verified in Nightly: no
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: See comment https://bugzilla.mozilla.org/show_bug.cgi?id=1836921#c0
- Risk associated with taking this patch: The risk is low
- Explanation of risk level: We are just preventing the allow button to be clicked to fast
- String changes made/needed: n/a
- Is Android affected?: yes
Updated•1 year ago
|
Comment 33•1 year ago
|
||
| uplift | ||
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 34•1 year ago
|
||
Updated•1 year ago
|
Comment 35•1 year ago
•
|
||
Tom, Daniel - based on Arturo's (now left the org) comment:
Waiting until it's safe to disclose https://bugzilla.mozilla.org/show_bug.cgi?id=1836921
do you have any guidance on whether it safe to land https://phabricator.services.mozilla.com/D227275 now?
Comment 36•1 year ago
|
||
Yes, that's fine. I'll inquire as to why bugbot didn't run for the reminder.
Updated•1 year ago
|
Comment 37•1 year ago
|
||
Comment 38•1 year ago
|
||
Updated•11 months ago
|
Updated•11 months ago
|
Comment 39•11 months ago
|
||
This issue was verified on Firefox for Android Nightly 139 (2025-04-23) and RC 139 using a Samsung S24 Ultra (Android 14). The page turns into about:blank after tapping once on the red box and canceling the "Open in Phone" pop-up.
Shaheen Fazim could you please confirm that this is the expected behaviour?
| Reporter | ||
Comment 40•11 months ago
|
||
Expected behaviour is to protect intent prompt from multiple taps. For example, if a user quickly taps multiple times, it should not allow prompt inbetween to be approved.
It seems like in this case, we're not opening the app using tel:. I'm not sure what's causing the later behaviorโlike the intent prompt closing and an about:blank page opening. That part shouldn't happen, and Iโm not sure if it's intentional. Could you check with the appropriate developer to see if that behavior is expected?
| Reporter | ||
Comment 41•11 months ago
|
||
about:blank is shown when window.open is used. Switching line 41 code from window.open('tel:1337'); to location.href = 'tel:1337'; fixes it, and I see tapjacking protection active aswell.
Description
•