plugin-container insta-crashes on https://listen.tidal.com
Categories
(Core :: Security: Process Sandboxing, defect)
Tracking
()
People
(Reporter: emilio, Assigned: emilio)
References
Details
Crash Data
Attachments
(1 file)
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
RyanVM
:
approval-mozilla-release+
RyanVM
:
approval-mozilla-esr68+
|
Details | Review |
If I go to https://listen.tidal.com and play anything I get a "plugin crashed" notification. A crash report looks like:
https://crash-stats.mozilla.org/report/index/0f1b38ac-9818-4992-af4d-4c3740200211
Looks that we were killed by sigsys. Maybe ld.so blocking signals again?
Comment 1•5 years ago
|
||
No, it's Widevine being naughty and trying to use sys_pread64. Did Widevine get an update?
Comment 2•5 years ago
•
|
||
It looks like that's whitelisted in Content but not necessarily in the Common or GMP policy.
Assignee | ||
Comment 3•5 years ago
|
||
The stack contains glibc code so I assumed it was a glibc issue... I don't know whether it got an update or not.
Comment 4•5 years ago
|
||
FYI "Crash Address" will contain the id of the offending syscall (0x11), although the stack trace here is also quite revealing,
Comment 5•5 years ago
|
||
jcristeau pointed to: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=95c1056962a3f2297c94ce47f0eaf0c5b6563231
So this is likely triggered by a libc update.
Comment 6•5 years ago
|
||
But wait, that changeset is from October 2019? So that wouldn't cause a sudden regression now?
Comment 7•5 years ago
•
|
||
Okay, so likely Widevine did get an update that makes it do an extra call to the linker, and changes in October 2019 mean that ld.so will use pread64 to implement the functionality being called. (This means not everyone who gets the Widevine update will see this problem!)
Anyway we should be able to just whitelist pread64 in the common policy I think.
Assignee | ||
Comment 8•5 years ago
|
||
I don't think I've used that website (or widewine/DRM stuff) in this computer ever before.
So I just probably haven't noticed it before.
Assignee | ||
Comment 9•5 years ago
|
||
Updated•5 years ago
|
Comment 10•5 years ago
|
||
Updated•5 years ago
|
Comment 11•5 years ago
|
||
bugherder |
Comment 12•5 years ago
|
||
Comment on attachment 9125885 [details]
Bug 1614535 - Whitelist pread64 in the common policy. r=gcp
Beta/Release Uplift Approval Request
- User impact if declined: Crash on modern Linux distros when trying to use DRM sites.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Not risky, whitelisting a syscall in a more general policy.
- String changes made/needed:
Updated•5 years ago
|
I'd also suggest we nominate for ESR.
Comment 17•5 years ago
|
||
Comment on attachment 9125885 [details]
Bug 1614535 - Whitelist pread64 in the common policy. r=gcp
Approved for 74.0b3 for more testing. Sounds like we're still going to want release and ESR68 approval requests for 73.0.1 and 68.6esr, respectively.
Comment 18•5 years ago
|
||
bugherder uplift |
Comment 19•5 years ago
|
||
Do we need this on release for 73.0.1 also?
It looks like glibc did a release (glibc-2.31) which has the above change in it so it is indeed reasonable for distros like Arch to take that and try to run it with release Firefox.
I'd also suggest we nominate for ESR.
Do we expect to find an 11 days old glibc on systems that run ESR? The case for ESR doesn't seem to be so clear.
Comment 20•5 years ago
|
||
Comment on attachment 9125885 [details]
Bug 1614535 - Whitelist pread64 in the common policy. r=gcp
Beta/Release Uplift Approval Request
- User impact if declined: Very modern rolling-release distros (Arch, Fedora Rawhide, ...) can fail to play DRM media.
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Moving a whitelisted syscall to a more general policy.
- String changes made/needed:
Comment 21•5 years ago
|
||
(In reply to Gian-Carlo Pascutto [:gcp] from comment #19)
Do we expect to find an 11 days old glibc on systems that run ESR? The case for ESR doesn't seem to be so clear.
As one data point, we saw almost immediate reports of bustage when the most recent SQLite update came out and it didn't work correctly with Firefox, which suggests someone somewhere is doing it :). Anyway, if the risk is low, I'd say better safe than sorry.
(In reply to Gian-Carlo Pascutto [:gcp] from comment #19)
Do we expect to find an 11 days old glibc on systems that run ESR? The case for ESR doesn't seem to be so clear.
I'd expect it to be rare at the moment, though it looks like we have at least one possible case. I'm mostly concerned about keeping ESR 68 happy until we spin the next major release. Is it possible in the remaining lifecycle we'll see uptake of the new glibc in slower moving distros that could trip us?
Updated•5 years ago
|
Comment 24•5 years ago
|
||
when the most recent SQLite update came out and it didn't work correctly with Firefox
Firefox or Firefox ESR?
I'd expect it to be rare at the moment, though it looks like we have at least one possible case.
That machine appears to be on Linux 5.4.19-1-lts, released 2 days ago(!) so it's this weird combo of running spanking fresh kernels and glibc with a Firefox that's effectively outdated. The logic eludes me 🤷 ¯_(ツ)_/¯
Comment 26•5 years ago
|
||
Comment on attachment 9125885 [details]
Bug 1614535 - Whitelist pread64 in the common policy. r=gcp
Fixes Linux-only crashes when trying to play encrypted content with the new Widevine plugin. Approved for 73.0.1.
Comment 27•5 years ago
|
||
bugherder uplift |
Comment 28•5 years ago
|
||
Added to the Firefox 73.0.1 release notes:
Fixed crashes when playing encrypted content on some Linux systems
Updated•5 years ago
|
Comment 29•5 years ago
|
||
Hi,
I haven't been able to reproduce the issue on Fedora 30, Ubuntu 18.04 or Windows 10 ARM-Arch build on the affected versions or the versions set as fixed using the link in the description or the link from a bug set as duplicate to this one (Bug 1615499) https://bitmovin.com/demos/drm.
However, the plugin did crash on https://shaka-player-demo.appspot.com on Arch Build Nightly 74.0a1 and then on the latest Nightly 75.0a1 when I updated it, but it does not crash if you download the latest version directly. This might be a different issue though.
Since I wasn't able to reproduce the issue, I cannot confirm the fix.
Emilio, could you please verify the fix? http://archive.mozilla.org/pub/firefox/candidates/73.0.1-candidates/
Thank you!
Updated•5 years ago
|
Comment 30•5 years ago
|
||
On linuxfromscratch we will be releasing LFS-9.1 (linux-5.5.3 or later with glibc-2.31) and in BLFS-9.1 we are using ESR (so that we can keep the same version of rustc for both firefox and thunderbird) so I assume we are also affected if anyone uses tidal.com (I don't). So adding to ESR would be good.
Updated•5 years ago
|
Comment 33•5 years ago
|
||
Please nominate this for ESR68 approval when you get a chance.
Assignee | ||
Comment 34•5 years ago
|
||
Comment on attachment 9125885 [details]
Bug 1614535 - Whitelist pread64 in the common policy. r=gcp
ESR Uplift Approval Request
- If this is not a sec:{high,crit} bug, please state case for ESR consideration: Somewhat common Linux regression.
- User impact if declined: Widewine and co crash if a new-enough version of glibc is used.
- Fix Landed on Version:
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Simple sandbox rule change to avoid crashing widewine on startup.
- String or UUID changes made by this patch: none
Comment 35•5 years ago
|
||
Comment on attachment 9125885 [details]
Bug 1614535 - Whitelist pread64 in the common policy. r=gcp
Fixes a possible Widevine crash with newer versions of glibc. Approved for 68.6esr.
Comment 36•5 years ago
|
||
bugherder uplift |
Description
•