Bug 43330: System fonts leak when emptying the allow list on Linux.
Merge Info
Issues
Resolves
- #43330 (closed)
- mullvad-browser#xxxxx
- tor-browser-build#xxxxx
Related
- #43322
- mullvad-browser#xxxxx
- tor-browser-build#xxxxx
Merging
Target Branches
-
tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
base-browser
andmullvad-browser
-!fixups
tobase-browser
-specific commits, new features to be shared withmullvad-browser
, and security backports-
⚠️ IMPORTANT: Please list thebase-browser
-specific commits which need to be cherry-picked to thebase-browser
andmullvad-browser
branches here
-
Target Channels
-
Alpha: esr128-14.5 -
Stable: esr128-14.0 -
Legacy: esr115-13.5
Backporting
Timeline
-
No Backport (preferred): patchset for the next major stable -
Immediate: patchset needed as soon as possible -
Next Minor Stable Release: patchset that needs to be verified in nightly before backport -
Eventually: patchset that needs to be verified in alpha before backport
(Optional) Justification
-
Emergency security update: patchset fixes CVEs, 0-days, etc -
Censorship event: patchset enables censorship circumvention -
Critical bug-fix: patchset fixes a bug in core-functionality -
Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc -
Sponsor required: patchset required for sponsor -
Localization: typos and other localization changes that should be also in the release branch -
Other: please explain
Issue Tracking
-
Link resolved issues with appropriate Release Prep issue for changelog generation
Review
Request Reviewer
-
Request review from an applications developer depending on modified system: -
NOTE: if the MR modifies multiple areas, please
/cc
all the relevant reviewers (since Gitlab only allows 1 reviewer) - accessibility : henry
- android : clairehurst, dan
- build system : boklm
- extensions : ma1
- firefox internals (XUL/JS/XPCOM) : jwilde, ma1
- fonts : pierov
- frontend (implementation) : henry
- frontend (review) : donuts, morgan
- localization : henry, pierov
- macOS : clairehurst, dan
- nightly builds : boklm
- rebases/release-prep : dan, ma1, pierov, morgan
- security : jwilde, ma1
- signing : boklm, morgan
- updater : pierov
- windows : jwilde, morgan
- misc/other : pierov, morgan
-
NOTE: if the MR modifies multiple areas, please
Change Description
Thorin and me are evaluating the removal of font.system.whitelist
, and while checking it, I discovered that my previous changes on the fontconfig configuration had some problem that weakened our protection.
However, a while ago we also defined font.system.whitelist
, which worked... But I didn't remember to test without this defense in place, so I didn't realize the problem.
Before setting the FONTCONFIG_FILE
variable in the browser, we used to set also FONTCONFIG_PATH
.
But then I defined only the file, as I understood from the docs that an absolute path was okay also without FONTCONFIG_PATH
.
Seems it isn't true, so I modified the code to define both again.
How Tested
- Checked that emptying
font.system.whitelist
without the patch makes Cantarell pass (and you'll notice the chrome has different fonts). Also, TZP might detect fonts such as Cantarell, Dejavu Sans and Liberation Sans. - Checked that with the patch, Cantarell isn't applied even with
font.system.whitelist
empty, the chrome is displayed in Arimo, and TZP is a pass.
I haven't cooked a testbuild, but I can do it if needed.
If testing with a local dev build, please make sure you have an updated start-tor-browser
, or it might also contain the fontconfig variable, which might alter the tests.