Closed Bug 2052011 Opened 4 months ago Closed 4 months ago

about:config fails to load on Fenix due to inline JS being blocked by CSP

Categories

(Firefox for Android :: General, defect)

Firefox 154
All
Android
defect

Tracking

()

RESOLVED FIXED
154 Branch
Tracking Status
firefox152 --- unaffected
firefox153 --- fixed
firefox154 + fixed

People

(Reporter: doug.hs, Assigned: tschuster)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(1 file, 2 external files)

Steps to reproduce:

  1. Install Firefox Nightly from Play Store.
  2. Visit about:config

Actual results:

The page opens up blank, with an endless spinning/loading animation. Upon inspection, there are multiple Content-Security-Policy errors in the console.

Expected results:

Load about:config

I'm on Android 16 (LineageOS 23.2 + Google Apps).

These are the errors in the console:

Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-4n0K6PWd1MZ2/oOHGVsHjJssMPi35CwGFJu24T0PCVM=') together with 'unsafe-hashes'.
Source:        NewPrefDialog.init();       About… config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-Tw0eAtyEOPWtNlGYA4jXfmnwqNG91QDeLs3yhoNch68=') together with 'unsafe-hashes'.
Source: AboutConfig.uninit() config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-8S8fnD6J4ircnEtEFEde9tIwifCFUKu6KeyLhXhY9wY=') together with 'unsafe-hashes'.
Source: NewPrefDialog.toggleShowHide() config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-yEc2+OhLqfTshn9qok3JG6JFxeMWB/8UDR3lWj7PiZM=') together with 'unsafe-hashes'.
Source: AboutConfig.bufferFilterInput() config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-Jw+6m6QTtljDwsvYmtO2iouZU+EiAN0knCsv29NgLJ8=') together with 'unsafe-hashes'.
Source: AboutConfig.filterInput.blur(); config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-SCqVXRSgIIDktaIiV+pSFXj+/HMwj/Q+ER/m6NkiWCY=') together with 'unsafe-hashes'.
Source: NewPrefDialog.focusName(event) config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-XVWIAFw3MptcD2fboGx45tIMxSjGY7Hef4yIGgBKUOU=') together with 'unsafe-hashes'.
Source: NewPrefDialog.updateName(event) config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-ckmbUgkcoAo+ITUjG/BmYMvCrIIz2jlfVTC2O5nWSvY=') together with 'unsafe-hashes'.
Source: NewPrefDialog.type = event.target.value config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-GP2BcIasD39ittf2rj1ySb2e37BJQXtJ0HUlIupgcp4=') together with 'unsafe-hashes'.
Source: NewPrefDialog.toggleBoolValue() config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-vNGePmJd/v1zrcW3A05e76UF/+aB5gIDytHDGinQg8I=') together with 'unsafe-hashes'.
Source: NewPrefDialog.hide() config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-DCHMKdNzCb8B/iGKzy9NnSdH0moTnRA9a9afCuL8ws4=') together with 'unsafe-hashes'.
Source: NewPrefDialog.create(event) config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-ZuO/tT8KJOB/ZYK3N3XHzS67iLQSdLdyztht+4GhUug=') together with 'unsafe-hashes'.
Source: AboutConfig.clipboardCopy('name') config
Content-Security-Policy: The page’s settings blocked an event handler (script-src-attr) from being executed because it violates the following directive: “script-src chrome: resource: moz-src:”. Consider using a hash ('sha256-mM5XzCPkoMStR+Wla+mfqUWaic8AhzIRiBwf3Pov2Os=') together with 'unsafe-hashes'.
Source: AboutConfig.clipboardCopy('value') config

Firefox Nightly version: 154.0a1, buildID 20260701

I am seeing this same issue! I'm using same Firefox Nightly build (154.0a1) on Samsung S22U with OS Android 16.

I suspect this might have been caused by bug 2040297. But I am a bit confused as to how this never came up before.

Keywords: regression
See Also: → 2040297
Summary: about:config fails to load on Nightly → about:config fails to load on Nightly due to inline JS being blocked by CSP
Duplicate of this bug: 2051884

The bug has a release status flag that shows some version of Firefox is affected, thus it will be considered confirmed.

Status: UNCONFIRMED → NEW
Ever confirmed: true

This should theoretically fix the issue, but if someone wants to steal this and test it out for real I would appreciate it!

I tried it out in an emulator and it seems to work.

Assignee: nobody → tschuster
Attachment #9603834 - Attachment description: WIP: Bug 2052011 - Remove inline JS from about:config in GeckoView. → Bug 2052011 - Remove inline JS from about:config in GeckoView. r?#geckoview-reviewers
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → 154 Branch
Blocks: 2052785

This is broken in Fx153. We disable about:config there, but for historical accidents chrome://geckoview/content/config.xhtml is still available and powerusers are disappointed if it break.

Tom, can we consider uplifting to the next scheduled dot release? Risk seems relatively low since it is already broken and your patch is relatively tame.

Flags: needinfo?(tschuster)
See Also: → 2056665
Summary: about:config fails to load on Nightly due to inline JS being blocked by CSP → about:config fails to load on Fenix due to inline JS being blocked by CSP
Flags: needinfo?(tschuster)
Blocks: 2056665
See Also: 2056665 →

firefox-release Uplift Approval Request

  • User impact if declined/Reason for urgency: Due to another bug 2038660, the CSP already applies to loads via chrome:// in 153. And because the about:config isn't available in release this can't be bypassed.
  • Code covered by automated testing?: no
  • Fix verified in Nightly?: yes
  • Needs manual QE testing?: no
  • Steps to reproduce for manual QE testing:
  • Risk associated with taking this patch: low
  • Explanation of risk level: Patch already tested. This a hidden feature.
  • String changes made/needed?: no
  • Is Android affected?: yes
Attachment #9614314 - Flags: approval-mozilla-release?
Attachment #9614314 - Flags: approval-mozilla-release? → approval-mozilla-release+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: