Closed Bug 1866661 (CVE-2025-1935) Opened 2 years ago Closed 1 year ago

Clickjacking of permission prompts for registerprotocol

Categories

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

defect

Tracking

()

RESOLVED FIXED
137 Branch
Tracking Status
firefox-esr115 --- wontfix
firefox-esr128 136+ fixed
firefox135 --- wontfix
firefox136 + fixed
firefox137 + fixed

People

(Reporter: sas.kunz, Assigned: emz)

References

Details

(Keywords: csectype-clickjacking, reporter-external, sec-low, Whiteboard: [client-bounty-form][adv-main136+][adv-esr128.8+])

Attachments

(9 files, 2 obsolete files)

i found a vulnerability where user can fall for clickjacking to added register protocol permission

I tested on Firefox version 122.0a1 (2023-11-25) (64-bit)

steps to reproduce:

  1. open https://pwed.my.id/clickjack/registerprotocol.html or Open registerprotocol.html
  2. double click the "double click" button without moving the mouse then the register protocol will be added
Flags: sec-bounty?
Attached file registerprotocol.html

The damage from this one is relatively low: it means the attacker can open a web page when such a protocol is clicked. There are very few protocols that other web pages are going to use. mailto: is the most likely, and typically that will only leak an email address (though in uncommon cases a mailto: link can be much more complex). One experience of it and the user will realize something is wrong and fix it.

This prompt is an info-bar like the popup-blocker one. It's definitely different code from the "panel" style prompts.

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

For more information, please visit BugBot documentation.

Flags: needinfo?(sgalich)
Severity: -- → S3
Flags: needinfo?(sgalich)
Priority: -- → P3
Flags: sec-bounty? → sec-bounty+

Emma: is this one you can find an owner for?

Flags: needinfo?(emz)
Component: Security → PopupNotifications and Notification Bars
Product: Firefox → Toolkit

Looks like we should add a security delay to the notification bar code: https://searchfox.org/mozilla-central/source/toolkit/content/widgets/notificationbox.js
Edit: apologies, I initially linked devtools code by mistake.

Assignee: nobody → emz
Status: NEW → ASSIGNED
Flags: needinfo?(emz)
Group: firefox-core-security → core-security-release
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 137 Branch
Regressions: 1946105

The patch landed in nightly and beta is affected.
:emz, is this bug important enough to require an uplift?

  • If yes, please nominate the patch for beta approval. Also, don't forget to request an uplift for the patches in the regression caused by this fix.
  • If no, please set status-firefox136 to wontfix.

For more information, please visit BugBot documentation.

Flags: needinfo?(emz)
Attachment #9465153 - Flags: approval-mozilla-beta?

beta Uplift Approval Request

  • User impact if declined: Users are vulnerable to clickjacking attacks using the notification box UI in Firefox. This UI is used by websites to ask permission for installing custom protocols.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: -
  • Risk associated with taking this patch: low
  • Explanation of risk level: There is a low risk that we break the notification box buttons which may block users. The bug had a regression which we since fixed. The fix and the clickjacking functionality as a whole has good test coverage now.
  • String changes made/needed: -
  • Is Android affected?: no
Attachment #9465154 - Flags: approval-mozilla-esr128?

esr128 Uplift Approval Request

  • User impact if declined: Users are vulnerable to clickjacking attacks using the notification box UI in Firefox. This UI is used by websites to ask permission for installing custom protocols.
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Needs manual QE test: no
  • Steps to reproduce for manual QE testing: -
  • Risk associated with taking this patch: low
  • Explanation of risk level: There is a low risk that we break the notification box buttons which may block users. The bug had a regression which we since fixed. The fix and the clickjacking functionality as a whole has good test coverage now.
  • String changes made/needed: -
  • Is Android affected?: no
Flags: needinfo?(emz)
Attachment #9465153 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attached file Bug 1866661, r=hjones,mak (obsolete) —
Attachment #9465411 - Flags: approval-mozilla-beta?
Attachment #9465412 - Flags: approval-mozilla-beta?
Attachment #9465411 - Attachment is obsolete: true
Attachment #9465411 - Flags: approval-mozilla-beta?
Attachment #9465412 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

:emz could you add https://hg.mozilla.org/mozilla-central/rev/01a7a1c27f90 to the uplift stack here for ESR128?
Otherwise, there will be conflicts when later uplifting Bug 1946105

Flags: needinfo?(emz)
Attached file Bug 1866661, r=hjones,mak (obsolete) —
Attachment #9465432 - Attachment is obsolete: true
Attachment #9465433 - Flags: approval-mozilla-esr128?

Sorry, I missed that patch when requesting uplifts. The patch stack should be up to date now. Thanks!

Flags: needinfo?(emz)
QA Whiteboard: [post-critsmash-triage]
Flags: qe-verify-
Attachment #9465433 - Flags: approval-mozilla-esr128? → approval-mozilla-esr128+
Attachment #9465154 - Flags: approval-mozilla-esr128? → approval-mozilla-esr128+
Attachment #9465154 - Flags: approval-mozilla-esr128+ → approval-mozilla-esr128-
Attachment #9465154 - Flags: approval-mozilla-esr128- → approval-mozilla-esr128+
Whiteboard: [reporter-external] [client-bounty-form] [verif?] → [client-bounty-form][adv-main136+][adv-esr128.8+]
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: