Increase telemetry detail for moz-extension scripts loaded in the parent process
Categories
(Firefox :: Security, defect, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox75 | --- | fixed |
People
(Reporter: tjr, Assigned: tjr)
References
Details
Attachments
(2 files, 1 obsolete file)
3.23 KB,
text/plain
|
chutten
:
data-review+
|
Details |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Per zombie, moz-extension scripts that are loaded in the parent process are unexpected are we should treat them as a security issue. We'd like to collect additional telemetry about when this happens.
At this point, we only have the (full) url that is being loaded. From Telemetry we also know what extensions the user has installed. It's not possible (or at least I don't see how) to map an Extension UUID to Extension Name from C++ but if we collect the path and filename that should be enough to figure out which extension it is - especially if we have enough reports for extension overlap.
Note that this only applies when the WebExtension process is enabled.
Presently we know something is going on here, we have 3,421 distinct windows clients reporting 33K events on Nightly. We don't know what is causing it, or how many extensions.
Assignee | ||
Comment 1•6 years ago
|
||
Assignee | ||
Comment 2•6 years ago
|
||
Updated•6 years ago
|
Updated•6 years ago
|
Comment 3•6 years ago
•
|
||
(In reply to Tom Ritter [:tjr] (ni for response to sec-[approval|rating|advisories|cve]) from comment #0)
It's not possible (or at least I don't see how) to map an Extension UUID to Extension Name from C++ but if we collect the path and filename that should be enough to figure out which extension it is - especially if we have enough reports for extension overlap.
It shouldn't be hard to get the extension id from the UUID, see:
https://searchfox.org/mozilla-central/rev/9e45d74b/toolkit/components/extensions/ExtensionPolicyService.h#73,75
Or directly get the addon policy if you have the principal:
https://searchfox.org/mozilla-central/rev/9e45d74b/caps/ContentPrincipal.cpp#520
Assignee | ||
Comment 4•6 years ago
|
||
(In reply to :Tomislav Jovanovic :zombie from comment #3)
(In reply to Tom Ritter [:tjr] (ni for response to sec-[approval|rating|advisories|cve]) from comment #0)
It's not possible (or at least I don't see how) to map an Extension UUID to Extension Name from C++ but if we collect the path and filename that should be enough to figure out which extension it is - especially if we have enough reports for extension overlap.
It shouldn't be hard to get the extension id from the UUID, see:
https://searchfox.org/mozilla-central/rev/9e45d74b/toolkit/components/extensions/ExtensionPolicyService.h#73,75Or directly get the addon policy if you have the principal:
https://searchfox.org/mozilla-central/rev/9e45d74b/caps/ContentPrincipal.cpp#520
Yes, thanks! I saw your messages - I updated the data review request (but not my first comment.)
Comment 5•6 years ago
|
||
Comment 6•6 years ago
|
||
(In reply to Tom Ritter [:tjr] (ni for response to sec-[approval|rating|advisories|cve]) from comment #0)
Note that this only applies when the WebExtension process is enabled.
It is possible to observe these telemetry events despite extensions.webextensions.remote
being enabled, when the preference is changed from (non-default) false
to true
. Any extensions that were loaded prior to the pref being flipped would still run in the main process, while extensions that are (re)loaded thereafter are running in the extension process. I'd like to ensure that the pref is read once or removed altogether (bug 1502525).
That being said, the numbers from https://bugzilla.mozilla.org/show_bug.cgi?id=1562221#c18 are surprisingly high, more than I would expect from what I just described.
Assignee | ||
Comment 7•6 years ago
|
||
Comment 9•5 years ago
|
||
bugherder |
Description
•