Closed Bug 2031817 Opened 7 months ago Closed 4 months ago

A previous fix broke install when running from inside a DMG

Categories

(Toolkit :: Application Update, defect, P2)

Firefox 151
Desktop
macOS
defect

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox-esr140 --- unaffected
firefox-esr153 --- fixed
firefox150 --- unaffected
firefox151 + wontfix
firefox152 + wontfix
firefox153 + wontfix
firefox154 --- fixed

People

(Reporter: iholmes, Assigned: iholmes)

References

(Regression)

Details

(Keywords: regression, Whiteboard: [FIDEDI])

Attachments

(12 external files, 1 obsolete file)

The fix for another bug broke the Install from DMG functionality when Firefox runs from inside a DMG and installing requires elevation.

The functionality should be restored and there are a few ways to do it.

  • Create a new elevated XPC helper binary that does the install
  • Reintroduce the functionality into the elevated updater
Keywords: regression
Regressed by: CVE-2026-8952

The bug is marked as tracked for firefox151 (beta) and tracked for firefox152 (nightly). However, the bug still has low severity.

:Amir, could you please increase the severity for this tracked bug? If you disagree with the tracking decision, please talk with the release managers.

For more information, please visit BugBot documentation.

Flags: needinfo?(ahabibi)

Next week is the last full week of beta for Fx151.
Iain, is this on track for a fix in time for Fx151?

Flags: needinfo?(iholmes)

No, I can't see this making Fx151, sorry

Flags: needinfo?(iholmes)
Flags: needinfo?(ahabibi)

Creates an XPC based helper that is used when installing from DMG requires elevation.

The updater no longer handles DMG installation, so use the dmg install helper instead

Generate the SMPrivilegedExecutables plist dictionary for multiple executables. Also copy the DMGInstallHelper into place and have it signed.

Previously the install from DMG functionality was only available in release builds which complicates development and debugging. Add --enable-dmg-install-helper-debug to uncomplicate things.

Duplicate of this bug: 2039897

The severity field for this bug is set to S3. However, the following bug duplicate has higher severity:

:iholmes, could you consider increasing the severity of this bug to S2?

For more information, please visit BugBot documentation.

Flags: needinfo?(iholmes)
Severity: S3 → S2
Flags: needinfo?(iholmes)

add some environment variables to force elevation to help with development

We were never freeing the AuthorizationRef once we were done with it.

Add documentation explaining how to debug the DMG Install Helper

Attachment #9598727 - Attachment is obsolete: true
Pushed by iholmes@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/396f41db868f https://hg.mozilla.org/integration/autoland/rev/24197047c0df Part 1 - Create a helper to install from DMGs r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/1c4cad7a8612 https://hg.mozilla.org/integration/autoland/rev/1bea0c04d166 Part 2 - Use the XPC based DMG install helper instead of the updater r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/6e4183313cd6 https://hg.mozilla.org/integration/autoland/rev/d807bdbbc528 Part 3 - Correctly set the SMPrivilegedExecutables key when there are multiple executables r=spohl,haik,mac-reviewers,application-update-reviewers,aborondo https://github.com/mozilla-firefox/firefox/commit/9bd2cdaadc94 https://hg.mozilla.org/integration/autoland/rev/6c40c34188e6 Part 4 - Add a build time debug option to enable Install from DMG in debug builds r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/a7a32491513b https://hg.mozilla.org/integration/autoland/rev/473d7623e361 Part 6 - Fix a general memory leak r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/85ef2987cb89 https://hg.mozilla.org/integration/autoland/rev/d6f40be26dc8 Part 7 - Add documentation r=spohl,mac-reviewers
Pushed by asilaghi@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/339a33df5022 https://hg.mozilla.org/integration/autoland/rev/f02e080468aa Revert "Bug 2031817: Part 7 - Add documentation r=spohl,mac-reviewers" for causing build bustages at config/recurse.mk

Backed out for causing build bustages at config/recurse.mk
Backout Link
Push with failures
Failure Log
Failure line gmake[3]: *** [/builds/worker/checkouts/gecko/config/recurse.mk:101: browser/app/tools] Error 2

Flags: needinfo?(iholmes)
Pushed by iholmes@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/11313031eac7 https://hg.mozilla.org/integration/autoland/rev/dc3e9a55e5f6 Part 1 - Create a helper to install from DMGs r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/c22721e8f502 https://hg.mozilla.org/integration/autoland/rev/f1e023cb7028 Part 2 - Use the XPC based DMG install helper instead of the updater r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/1d611936b658 https://hg.mozilla.org/integration/autoland/rev/c1f2b67413f8 Part 3 - Correctly set the SMPrivilegedExecutables key when there are multiple executables r=spohl,haik,mac-reviewers,application-update-reviewers,aborondo https://github.com/mozilla-firefox/firefox/commit/f4a8e10273e2 https://hg.mozilla.org/integration/autoland/rev/1b26de0116f1 Part 4 - Add a build time debug option to enable Install from DMG in debug builds r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/2d8a63bbc4d6 https://hg.mozilla.org/integration/autoland/rev/e1032e66ca81 Part 6 - Fix a general memory leak r=spohl,mac-reviewers https://github.com/mozilla-firefox/firefox/commit/8757d65e4e39 https://hg.mozilla.org/integration/autoland/rev/75edd6e3bf8a Part 7 - Add documentation r=spohl,mac-reviewers
Flags: needinfo?(iholmes)

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

For more information, please visit BugBot documentation.

Flags: needinfo?(iholmes)
Flags: needinfo?(iholmes)
QA Whiteboard: [qa-triage-done-c155/b154]

Iain, could you consider adding an uplift request for ESR153?

Flags: needinfo?(iholmes)
Flags: needinfo?(iholmes)

NI for the ESR153 request still.

Flags: needinfo?(iholmes)

Creates an XPC based helper that is used when installing from DMG requires elevation.

Original Revision: https://phabricator.services.mozilla.com/D300313

Attachment #9665356 - Flags: approval-mozilla-esr153?

The updater no longer handles DMG installation, so use the dmg install helper instead

Original Revision: https://phabricator.services.mozilla.com/D300314

Attachment #9665357 - Flags: approval-mozilla-esr153?

Generate the SMPrivilegedExecutables plist dictionary for multiple executables. Also copy the DMGInstallHelper into place and have it signed.

Original Revision: https://phabricator.services.mozilla.com/D300315

Attachment #9665358 - Flags: approval-mozilla-esr153?

Previously the install from DMG functionality was only available in release builds which complicates development and debugging. Add --enable-dmg-install-helper-debug to uncomplicate things.

Original Revision: https://phabricator.services.mozilla.com/D300316

Attachment #9665359 - Flags: approval-mozilla-esr153?

We were never freeing the AuthorizationRef once we were done with it.

Original Revision: https://phabricator.services.mozilla.com/D307516

Attachment #9665360 - Flags: approval-mozilla-esr153?

firefox-esr153 Uplift Approval Request

  • User impact if declined/Reason for urgency: Users on ESR 153 won't be able to install into a privileged location by double clicking on the Firefox icon in the DMG
  • Code covered by automated testing?: no
  • Fix verified in Nightly?: yes
  • Needs manual QE testing?: yes
  • Steps to reproduce for manual QE testing: 1: Remove Firefox.app from /Applications
    2: Log in as a user that does not have write permissions to /Applications
    3: Open Firefox.dmg
    4: Double click the Firefox icon in the DMG folder. Do not drag it to the Applications icon.
    5: A dialog should open asking if you want to install Firefox. Confirm that you want to install it.
    6: A system permissions dialog should open asking for admin credentials
    7: Firefox.app should be copied into /Applications
  • Risk associated with taking this patch: low
  • Explanation of risk level: The feature is already broken and can't be broken further.
  • String changes made/needed?: No
  • Is Android affected?: no
Attachment #9665361 - Flags: approval-mozilla-esr153?
Flags: qe-verify+

Add documentation explaining how to debug the DMG Install Helper

Original Revision: https://phabricator.services.mozilla.com/D307517

Flags: needinfo?(iholmes)
Attachment #9665356 - Flags: approval-mozilla-esr153? → approval-mozilla-esr153+
Attachment #9665357 - Flags: approval-mozilla-esr153? → approval-mozilla-esr153+
Attachment #9665358 - Flags: approval-mozilla-esr153? → approval-mozilla-esr153+
Attachment #9665359 - Flags: approval-mozilla-esr153? → approval-mozilla-esr153+
Attachment #9665360 - Flags: approval-mozilla-esr153? → approval-mozilla-esr153+
Attachment #9665361 - Flags: approval-mozilla-esr153? → approval-mozilla-esr153+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: