Closed Bug 1863083 (CVE-2024-0750) Opened 2 years ago Closed 2 years ago

Clickjacking to allow permission using window.moveTo in a popup

Categories

(Toolkit :: PopupNotifications and Notification Bars, defect, P1)

defect

Tracking

()

VERIFIED FIXED
122 Branch
Tracking Status
firefox-esr115 122+ verified
firefox120 --- wontfix
firefox121 --- wontfix
firefox122 + verified
firefox123 --- verified

People

(Reporter: sas.kunz, Assigned: emz)

References

Details

(4 keywords, Whiteboard: [reporter-external] [client-bounty-form] [verif?][adv-main122+][adv-esr115.7+])

Attachments

(6 files, 1 obsolete file)

i found a vulnerability where user can fall for clickjacking to allow permission

I tested on Firefox version 120.0b4 (64-bit)

steps to reproduce:

  1. open clickjacknew.html then click open button
  2. Click the "click 3 fastly" button fastly.
Flags: sec-bounty?
Attached file clickjacknew.html
Component: Security → Site Permissions
Summary: Clickjacking to allow permission → Clickjacking to allow permission using window.moveTo in a popup
See Also: → CVE-2024-1550

Looks like another bug with the security delay. That belongs into PopupNotifications.

Component: Site Permissions → PopupNotifications and Notification Bars
Priority: -- → P1
Product: Firefox → Toolkit

Sorry, didn't mean to set priority.

Priority: P1 → --

Hadn't really thought about the approach Paul suggested in comment 3, but yeah: restart the clock if the window is moved.

I thought these prompts went away when users clicked outside them -- that would mostly resolve this.

Don't allow window.moveTo() (or resize()) anymore (we have a pref for that).

If we can't get rid of those actions, disallow them if there's a permission prompt showing?

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

For more information, please visit BugBot documentation.

Flags: needinfo?(hjones)

Hanna can't see all the other sec bugs; Paul should probably look at this in terms of prioritization once bug 1865914 is fixed.

Flags: needinfo?(hjones) → needinfo?(pbz)
Assignee: nobody → pbz
Severity: -- → S2
Status: NEW → ASSIGNED
Flags: needinfo?(pbz)
Priority: -- → P1
Attached file Bug 1863083, r=Gijs
Attached file Bug 1863083 - Test, r=Gijs (obsolete) —

Depends on D196309

Group: firefox-core-security → core-security-release
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 122 Branch
Flags: qe-verify+
Flags: sec-bounty? → sec-bounty+
QA Whiteboard: [post-critsmash-triage]

Please create a rebased patch for ESR115 and nominate it for approval when you get a chance.

Flags: needinfo?(pbz)

Comment on attachment 9371050 [details]
Bug 1863083 - ESR, r=Gijs

ESR Uplift Approval Request

  • If this is not a sec:{high,crit} bug, please state case for ESR consideration: See comment 12
  • User impact if declined: Clickjacking vulnerability of permission prompts (geolocation, camera, etc).
  • Fix Landed on Version: 122
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Small code change that already had some bake time in Fx122.
Flags: needinfo?(pbz)
Attachment #9371050 - Flags: approval-mozilla-esr115?

Comment on attachment 9371050 [details]
Bug 1863083 - ESR, r=Gijs

Approved for 115.7esr.

Attachment #9371050 - Flags: approval-mozilla-esr115? → approval-mozilla-esr115+
QA Whiteboard: [post-critsmash-triage] → [post-critsmash-triage][qa-triaged]

To attempt reproduction in Windows 10, I've downloaded the test pages locally, opened permissionshow_new.html in (affected builds) Release v121.0, Beta v121.0b6 and DevEdition v121.0b1, then clicked on the "Open" button, then 3 fast clicks on the "Click 3 fastly" button. Unfortunately, this exploit could not be reproduced because the window would move too low after the first click, causing to place of the other 2 clicks on the small window's Title Bar instead of the "allow" button from the Permission request dialog. This would cause the small window to maximize.

Unfortunately, the same behavior can be observed in Nightly v123.0a1 and Beta v122.0b6.

Are there any preconditions to this reproduction steps? What could I be missing?

Thank you!

Flags: needinfo?(sas.kunz)

I meant to leave NI for the assignee, not the reporter. I apologize.

Flags: needinfo?(sas.kunz) → needinfo?(pbz)

This one is tricky to reproduce since the PoC code relies on specific screen dimensions. I managed to reproduce it by adjusting the popup window coordinates until the buttons lined up. You can try that too by updating the coordinates (top, left, bottom, right) in the window.open call in clickjacknew.html. Let me know if that works for you.

Flags: needinfo?(pbz) → needinfo?(dbodea)

I have modified the test page so that the issue reproduces on my screen size in Release v121.0 and ESR v115.6.0esr and then I used the same test page in Beta v122.0b6 and Nightly v123.0a1. It would appear that the permission buttons are not "activated" even though clicks fall on the "Allow" button, however, a button feedback can be observed. If the user wants to allow this permission, he will have to move the mouse before clicking the button again.
This fix behaves the same in ESR v115.7.0esr (treeherder build).

All considered, this issue is verified in Windows 10.

Status: RESOLVED → VERIFIED
Flags: qe-verify+
Flags: needinfo?(dbodea)

Awesome, thank you!

Whiteboard: [reporter-external] [client-bounty-form] [verif?] → [reporter-external] [client-bounty-form] [verif?][adv-main122+][adv-esr115.7+]
Alias: CVE-2024-0750

NI for landing the test.

Flags: needinfo?(pbz)
See Also: → CVE-2024-2611
Blocks: 1879850

Comment on attachment 9368457 [details]
Bug 1863083 - Test, r=Gijs

Revision D196310 was moved to bug 1879850. Setting attachment 9368457 [details] to obsolete.

Attachment #9368457 - Attachment is obsolete: true
Flags: needinfo?(pbz)
See Also: → 1881846

Making Firefox 122 security bugs public. [bugspam filter string: Pilgarlic-Towers]

Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: