Should display origin in external protocol prompt if it does not match origin displayed in URL bar (Spoofing external protocol origin using data: url)
Categories
(Firefox :: File Handling, defect, P1)
Tracking
()
People
(Reporter: fazim.pentester, Assigned: Gijs)
References
Details
(Keywords: csectype-spoof, reporter-external, sec-moderate, Whiteboard: [client-bounty-form] [adv-main132+] [adv-esr128.4+])
Attachments
(3 files, 3 external files)
Firefox's external protocol handling can be exploited to conceal the origin when opened on a data URL within an iframe. As a result, a malicious site could completely hide the origin and overlay content on top of another website, enabling spoofing attacks.
Steps to Reproduce:
- Open the provided
poc.htmlfile in the latest version of Firefox on Windows. - Click the button
testto verify if the origin is displayed correctly. Then, click ontest spoofto observe that the origin is not shown.
| Reporter | ||
Updated•2 years ago
|
| Reporter | ||
Comment 1•2 years ago
|
||
| Reporter | ||
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 2•2 years ago
|
||
The resulting thing is clearly a new little browser window, so there's some chance for a user to see that something is awry, and the URL bar isn't exactly wrong, but the over all effect is a bit confusing.
| Assignee | ||
Comment 3•2 years ago
|
||
This would need fixing in https://searchfox.org/mozilla-central/rev/e968519d806b140c402c3b3932cd5f6cd7cc42ac/toolkit/mozapps/handling/content/permissionDialog.js#110-117 .
Comment 4•2 years ago
|
||
The severity field is not set for this bug.
:Gijs, could you have a look please?
For more information, please visit BugBot documentation.
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Comment 5•2 years ago
|
||
| Assignee | ||
Updated•2 years ago
|
| Reporter | ||
Updated•2 years ago
|
| Assignee | ||
Updated•2 years ago
|
| Assignee | ||
Updated•2 years ago
|
Comment 8•2 years ago
|
||
| Assignee | ||
Comment 9•2 years ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D220946
Updated•2 years ago
|
Comment 10•2 years ago
|
||
beta Uplift Approval Request
- User impact if declined: Confusing display of origin for external protocol handler prompt
- Code covered by automated testing: no
- Fix verified in Nightly: no
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: see comment 0
- Risk associated with taking this patch: Low
- Explanation of risk level: The existing code has decent test coverage and this is a relatively small JS only patch
- String changes made/needed: No
- Is Android affected?: no
Updated•2 years ago
|
Updated•2 years ago
|
Comment 11•2 years ago
|
||
I managed to reproduce this issue in Beta v131.0 (RC) and v132.0b1; the pop-up refers to the website as "this site":
"Allow this site to open the ms-calculator link with Calculator?"
I have verified this fix in Nightly v133.0a1; the pop-up refers to the website as "https://bug1912537.bmoattachments.org":
"Allow https://bug1912537.bmoattachments.org to open the ms-calculator link with Calculator?"
Testing has been performed on Windows 10. I will be closing this report. Thank you.
Comment 12•2 years ago
|
||
While we agree this is an issue that we can improve, this is relying highly on the small popup and navigated background page to imply that the prompt comes from the other domain. Additionally, the prompt does not actually display a misattributed origin (but rather an ambiguous 'this site'). Given these factors we will be awarding this issue a Hall of Fame entry but not a bounty.
Updated•2 years ago
|
Comment 13•2 years ago
|
||
| uplift | ||
Updated•2 years ago
|
Comment 14•2 years ago
|
||
Please nominate this for ESR128 approval when you get a chance. It grafts cleanly.
| Assignee | ||
Comment 15•2 years ago
|
||
Original Revision: https://phabricator.services.mozilla.com/D220946
Updated•2 years ago
|
Comment 16•2 years ago
|
||
esr128 Uplift Approval Request
- User impact if declined: potential confusion in external protocol prompt
- Code covered by automated testing: no
- Fix verified in Nightly: yes
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: see earlier comment
- Risk associated with taking this patch: low
- Explanation of risk level: The existing code has decent test coverage and this is a relatively small JS only patch
- String changes made/needed: no
- Is Android affected?: no
| Assignee | ||
Updated•2 years ago
|
Updated•2 years ago
|
Comment 17•2 years ago
|
||
| uplift | ||
Updated•2 years ago
|
Comment 18•2 years ago
|
||
I can also confirm this fix on Beta v132.0b8 and ESR v128.4.0esr in Windows 10. The site domain is shown correctly.
Updated•2 years ago
|
Comment 19•2 years ago
|
||
Updated•2 years ago
|
Updated•1 year ago
|
Description
•