Commit Graph

1002 Commits

Author SHA1 Message Date
Haik Aftandilian
7fb2183e0a Bug 1458553 - Return of Google Maps all black map with updated Nvidia web driver on Mac r=Alex_Gaynor
Update Mac sandbox rules to allow executable mappings from /Library/GPUBundles which is
used by the Nvidia downloadable "Web" driver.

MozReview-Commit-ID: L2nTP4YWdJJ

--HG--
extra : rebase_source : d8eefdd5a180db5d3ea8207d923e021420f2318e
2018-05-02 09:26:55 -07:00
Bob Owen
f299b6bfc7 Bug 1444699: Remove dynamic load and call for GetUserDefaultLocaleName. r=handyman
This was only required because it is not available on Windows XP, which is no
longer supported. Patch already landed upstream in chromium.
2018-04-24 09:21:51 +01:00
jld@mozilla.com
c7c75836c0 Backed out 2 changesets (bug 1439057, bug 1447867)
Backed out changeset baeab3bff807 (bug 1439057)
Backed out changeset 1a024d5ca77b (bug 1447867)

--HG--
extra : rebase_source : d39e4657b4117706a53bc42b7817424cf43f9148
2018-04-23 07:59:02 -06:00
Jed Davis
c5a7acdf32 Bug 1439057 - Tighten /dev/shm access in Linux content sandbox policy. r=froydnj,gcp
This patch uses the shared memory name prefixes introduced in bug 1447867
to prevent access to /dev/shm files of other applications or other
processes within the same browser instance.

When a shared memory implementation that doesn't use shm_open is available
(specifically, the memfd_create support to be added in bug 1440203),
/dev/shm access is completely denied.

MozReview-Commit-ID: L2ylG5KrXTU

--HG--
extra : rebase_source : ca1deece6117e843d691a13fff05bd0f97ec0408
2018-04-12 23:48:16 -06:00
Bob Owen
df78972f84 Bug 1453929: Enable handle verifier on 32-bit EARLY_BETA_OR_EARLIER. r=jimm 2018-04-14 20:24:07 +01:00
Sebastian Hengst
043061beb5 merge mozilla-central to mozilla-inbound 2018-04-13 16:05:58 +03:00
Sebastian Hengst
0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
arthur.iakab
ac8dce248c Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-04-13 12:58:18 +03:00
Bob Owen
74c27857c7 Bug 1453639: Call InitializeHandleVerifier before other sandbox calls. r=jimm 2018-04-13 08:42:56 +01:00
Tristan Bourvon
a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Jan Beich
4c4327e871 Bug 1452509 - Make -DMOZ_ALSA global and prune duplicate -DMOZ_PULSEAUDIO. r=froydnj
MozReview-Commit-ID: 6O0pkscXczw

--HG--
extra : rebase_source : 0d8dffa1f8e4942b3fe8832ad860409ec24784a2
2018-03-19 02:13:04 +00:00
Bob Owen
aaef814fdc Bug 1452090: Only enable handle verifier on 32-bit Nightly and debug builds. r=jimm
This also adds the ability to enable it using the environement variable
MOZ_ENABLE_HANDLE_VERIFIER.
2018-04-09 19:22:28 +01:00
Gian-Carlo Pascutto
f32916cd1e Bug 1434711 - WebGL causes a crash with the AMDGPU-PRO video driver. r=jld
Factor out the ATI-based driver detection code and use this to set
specific permissions needed by this driver. In passing, unnest some
of the SandboxBroker fallback paths, and make it properly report
the operation in all error paths.

MozReview-Commit-ID: FrRpicj5NF

--HG--
extra : rebase_source : 1410cdddcf1264dc1572f9b9b691f9d08a2061cf
2018-03-29 14:04:46 +02:00
Jed Davis
17bafad434 Bug 1450740 - Don't sandbox network namespace when X11 named sockets aren't accessible. r=gcp
MozReview-Commit-ID: KiL4GwMms3a

--HG--
extra : rebase_source : 08cfd2325d081eb95a4a69805077828bfbb521ac
2018-04-02 15:19:04 -06:00
David Parks
6a70261b2b Bug 1450773 - Remove restricting SIDs from NPAPI sandbox outside of nightly builds. r=bobowen
Restricting SIDs, which harden the sandbox, have caused some problems that we are investigating in nightly and that we don't want in beta/release.
2018-04-02 15:27:07 -07:00
Bob Owen
cfaaf3c336 Bug 1449480: Don't crash in opt builds when scoped_handle.cc CloseHandleWrapper fails. r=jimm
I'm not adding a patch to security/sandbox/chromium-shim/patches for this,
because we need to get this fixed ASAP, certainly before we take another update.
2018-03-28 16:07:15 +01:00
Bob Owen
039665fa5e Bug 1447019 Part 3: Use MITIGATION_WIN32K_DISABLE for GMP processes based on a pref. r=jimm 2018-03-27 14:09:32 +01:00
Bob Owen
41ce6696f9 Bug 1447019 Part 2: Move running from a network drive check into WinUtils. r=jimm 2018-03-27 14:09:32 +01:00
Bob Owen
cf86e40aa1 Bug 1445167 Part 2: Make LOG_FATAL messages in chromium sandbox code crash. r=jld 2018-03-20 10:45:31 +00:00
Bob Owen
af1e9f58c5 Bug 1445167 Part 1: Revert change to make USER_NON_ADMIN a blacklist. r=handyman
This is only used by default in the file content process now and we also have a
FILES_ALLOW_READONLY rule for all paths anyway.
2018-03-20 10:42:05 +00:00
Haik Aftandilian
331dda9367 Bug 1444291 - Part 3 - Add read access to the Mac Flash sandbox, support sandbox levels r=Alex_Gaynor
Replace the boolean pref "security.sandbox.mac.flash.enabled"
with "dom.ipc.plugins.sandbox-level.flash" to support sandbox
levels and be consistent with the Windows pref name.

Adds filesystem read access to the sandbox using sandbox extensions
granted by the file dialog machinery (level 1).

Add support for level 2 which blocks read access.

Allow the sandbox to be disabled with MOZ_DISABLE_NPAPI_SANDBOX.


MozReview-Commit-ID: 4rfobEoxQpF

--HG--
extra : rebase_source : 05dc54b46063967e959bc3fced21c61e5463de48
2018-03-15 20:23:19 -07:00
Haik Aftandilian
b8c5b2eae6 Bug 1444291 - Part 2 - Add additional sysctl access to the Mac Flash sandbox r=Alex_Gaynor
Adds additional sysctls that are used by the Flash plugin process and alphabetize the list.

MozReview-Commit-ID: 7CaPtaKe874

--HG--
extra : rebase_source : 909228ef9617029eaf7cb16565751150cd1c7404
2018-03-07 22:07:27 -08:00
Haik Aftandilian
09693ee75d Bug 1444291 - Part 1 - Reduce Mac Flash sandbox cache and temp dir permissions r=Alex_Gaynor
Remove access to DARWIN_USER_CACHE_DIR. Limit DARWIN_USER_TEMP_DIR
access to the FlashTmp subdirectory. Remove xattr read access to
~/Library/Caches/ and ~/Library/Preferences.

MozReview-Commit-ID: 9svk0BoxVXs

--HG--
extra : rebase_source : 5ea9c7ecc0189455eceb190fb300170d42d0b890
2018-03-15 17:33:12 -07:00
Coroiu Cristina
62bb56ad86 Backed out 3 changesets (bug 1444291) for bustage at build/src/dom/plugins/ipc/PluginProcessChild.cpp
Backed out changeset 48a9c2131347 (bug 1444291)
Backed out changeset dfc31b6c9f53 (bug 1444291)
Backed out changeset 8ee3e65465ed (bug 1444291)
2018-03-16 03:07:35 +02:00
Haik Aftandilian
3aaa8d9f78 Bug 1444291 - Part 3 - Add read access to the Mac Flash sandbox, support sandbox levels r=Alex_Gaynor
Replace the boolean pref "security.sandbox.mac.flash.enabled"
with "dom.ipc.plugins.sandbox-level.flash" to support sandbox
levels and be consistent with the Windows pref name.

Adds filesystem read access to the sandbox using sandbox extensions
granted by the file dialog machinery (level 1).

Add support for level 2 which blocks read access.

Allow the sandbox to be disabled with MOZ_DISABLE_NPAPI_SANDBOX.


MozReview-Commit-ID: 4rfobEoxQpF

--HG--
extra : rebase_source : 87f2f00867c4522ae3102abbc44fd05db63c7ec7
2018-03-13 15:38:11 -07:00
Haik Aftandilian
d1fbc6bb50 Bug 1444291 - Part 2 - Add additional sysctl access to the Mac Flash sandbox r=Alex_Gaynor
Adds additional sysctls that are used by the Flash plugin process and alphabetize the list.

MozReview-Commit-ID: 7CaPtaKe874

--HG--
extra : rebase_source : 078697987ac7fec77c75953035b924422fc93066
2018-03-07 22:07:27 -08:00
Haik Aftandilian
018807a65d Bug 1444291 - Part 1 - Reduce Mac Flash sandbox cache and temp dir permissions r=Alex_Gaynor
Remove access to DARWIN_USER_CACHE_DIR. Limit DARWIN_USER_TEMP_DIR
access to the FlashTmp subdirectory. Remove xattr read access to
~/Library/Caches/ and ~/Library/Preferences.

MozReview-Commit-ID: 9svk0BoxVXs

--HG--
extra : rebase_source : 669c4fa446c9cab6b32cf60091e91eae2d08625f
2018-03-15 17:33:12 -07:00
Andreea Pavel
46575fad3b Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-03-15 00:10:23 +02:00
Bob Owen
f2f76a9b94 Bug 1445614: Only warn when SetAlternateDesktop fails. r=jimm 2018-03-14 18:39:36 +00:00
Jed Davis
0b5eeab7a5 Bug 1445003 - Detect RenderDoc and adjust the sandbox policy so it can work. r=gcp
RenderDoc, a graphics debugging tool, uses a preload library that
creates a listening socket (Internet-domain) early in startup and
accepts connections from the frontend.  If it's detected (via env vars),
we allow accept/accept4 (but not socket/bind/listen), and remain in
the parent process's network namespace so that other processes can
connect to the socket.

This doesn't change the sandbox policy if not running under RenderDoc.

MozReview-Commit-ID: 964RW4BFh4u

--HG--
extra : rebase_source : d4a954e68431d84fa2e0edea4171421a948794af
2018-03-12 20:21:08 -06:00
Gian-Carlo Pascutto
4fb9bf8576 Bug 1416016 - Resolve symlinks in the file broker as a last resort. r=jld
MozReview-Commit-ID: B7OMyARk9u8

--HG--
extra : rebase_source : 1106c8f877f748a2ef7e6af3b8e6965a3cf67e33
2018-03-09 21:14:39 +01:00
Jed Davis
6c8bcd4625 Bug 1440206 - Allow brokered access to a subset of connect() in the Linux content sandbox. r=gcp
This is to support WebGL with hybrid graphics drivers that connect to
a secondary X server for GL (Primus and VirtualGL), without allowing
access to arbitrary sockets.  In addition to local X11 connections,
Primus needs to connect to the Bumblebee daemon (otherwise it will exit
the calling process).

The broker support is limited to AF_UNIX, to non-datagram sockets (see
bug 1066750), and to pathname addresses.  Abstract addresses could
theoretically be handled but there isn't currently a compelling reason
to, and the broker very much assumes it's dealing with a C-style string
referring to a filesystem path and not an arbitrary byte sequence
(including NULs).

At a higher level: If the GPU X server is remote then it won't work,
but it won't work anyway because WebGL requires features that aren't
supported by indirect GLX.  If the GPU X server is local but the browser
is inside a chroot, it will fail to connect unless /tmp/.X11-unix is
bind-mounted into the chroot; hopefully this use case is not common.

MozReview-Commit-ID: IvI2jYDRZZ2
2018-03-09 19:31:23 -07:00
Jed Davis
60310ac5ad Bug 1434392 - Don't preload libmozsandbox in grandchild processes, only the sandboxed children themselves. r=gcp
--HG--
extra : rebase_source : a2c784640c65e0e476fc6ccf8639581462902c86
2018-03-07 18:55:20 -07:00
Gian-Carlo Pascutto
dadfe06714 Bug 1438394 - Do SysV IPC check before bailing out early. r=jld
The SandboxLaunchPrepare currently bails out early if it detects a
lack of user namespaces. Hoist the check for drivers needing SysV
IPC up so it's done before that early exit, and the required env
variables get correctly set.

With this we no longer fail with a SIGSYS sandbox error, though
in a debug build we still crash because many assumptions in the
graphics stack get broken when that fails to initialize the driver
for WebGL.

MozReview-Commit-ID: 8n3Hx6VSjTF

--HG--
extra : rebase_source : 99bf2d25a7435b0eb95f186a00cc7723a196be4c
2018-03-07 19:05:00 +01:00
Dorel Luca
3ccafa2b66 Merge mozilla-inbound to mozilla-central. a=merge 2018-03-02 00:09:29 +02:00
Sebastian Hengst
118e03a936 merge mozilla-central to mozilla-inbound 2018-03-01 20:32:20 +02:00
Masatoshi Kimura
b1b043af08 Bug 1442266 - Stop including unnecessary <iostream>. r=froydnj
MozReview-Commit-ID: B0JDqyBanFE

--HG--
extra : rebase_source : dec1e2678083e3fb2b9a6b89322d1fa747ed6d4a
2018-03-01 23:07:56 +09:00
Bob Owen
8efbee5948 Bug 1441801 Part 2: Fix line endings in sandboxBroker.cpp. r=jimm 2018-03-01 14:37:26 +00:00
Bob Owen
be5a4dadac Bug 1441801 Part 1: Stop using the chromium sandbox DLL blocking mechanism on Nightly. r=jimm 2018-03-01 14:37:25 +00:00
Jed Davis
6d88e1e82d Bug 1438391 - Detect VirtualGL and weaken the sandbox enough for it to work. r=gcp
MozReview-Commit-ID: BXmm8JSfkeI

--HG--
extra : rebase_source : 7e56f39df23fa4cc2ad0e38702f8ad6353d74e69
2018-02-22 19:14:41 -07:00
Jed Davis
61d0766fcf Bug 1438401 - Quietly fail shmget() in sandboxed content processes. r=gcp
The X11 symbol interposition isn't enough, possibly because Cairo can
also use XCB.  Interposing XCB is more difficult because the API exposes
more protocol details.  Instead, just allow shmget to be called and
fail; this will tell Cairo that it can't use SysV IPC with the X server,
which is what we want.

MozReview-Commit-ID: 5y9tE7UXMTE

--HG--
extra : rebase_source : bb1e81116742a299bc4e412062327e69032ab3b3
2018-02-27 21:30:08 -07:00
Jed Davis
9bdbd2d99f Bug 1438389 - Quietly disallow chown() in sandboxed content processes. r=gcp
Also covers fchownat() and attempts to be ready for newer archs like ARM64.

Bonus fix: extend bug 1354731 (mknod) fix to cover mknodat so this part
of the policy isn't glaringly inconsistent about "at" syscalls.

Tested locally by attaching gdb and injecting syscalls.

MozReview-Commit-ID: CCOk0jZVoG4

--HG--
extra : rebase_source : 1d0cafd9d91586eaec0233ff15b3bbb1ef7485f0
2018-02-15 16:10:00 -07:00
Narcis Beleuzu
2d9816273c Merge inbound to mozilla-central. a=merge 2018-02-16 11:49:59 +02:00
David Parks
9a797c5ce2 Bug 1415160: Part 2 - Add mitigations to plugin process if not running from network drive r=bobowen
Adds MITIGATION_IMAGE_LOAD_NO_REMOTE and MITIGATION_IMAGE_LOAD_NO_LOW_LABEL to the plugin process if we aren't running from a networked drive.  The same condition applies to these mitigations in the content process.

--HG--
extra : rebase_source : b61f91f3e56f6b4930a03331b7791a9173857518
2017-12-21 12:36:02 -08:00
David Parks
90d62139c0 Bug 1415160: Part 1 - Enable new NPAPI Windows Process Mitigations; r=bobowen
Enables new process mitigations that have been included from Chromium upstream.

--HG--
extra : rebase_source : 8997bef9c6a6c660b39e68ebfabf90f4de162bca
2017-12-20 22:58:26 -08:00
Haik Aftandilian
c90be35636 Bug 1436566 - [Mac] Land disabled-by-default sandboxing for the Flash NPAPI plugin process. r=Alex_Gaynor,jimm
MozReview-Commit-ID: Es0GbMLKvH5

--HG--
extra : rebase_source : 991f20ac25735508d790947991f59214fb06e54f
2018-02-12 15:46:31 -08:00
Alex Gaynor
106fa9d993 Bug 1405088 - Part 1 - remove file-write permissions from macOS content temporary directory; r=haik
With this change, the macOS content sandbox has no ability to create files
anywhere on disk (in release builds). If the content process needs a file to
write to, it needs to obtain a file descriptor from the parent process.

MozReview-Commit-ID: 7LoG1PW0UDR

--HG--
extra : rebase_source : 4ac0a7f187d45c9b6c0f8a658edfdae0509054ac
2017-10-02 10:48:01 -04:00
Alex Gaynor
0d04153faf Bug 1407693 - Part 1 - Expose method for sharing a HANDLE to a child process in the sandboxing API; r=bobowen
MozReview-Commit-ID: 3LBCzPS6Mzg

--HG--
extra : rebase_source : 7e1ea157eeea5810ad21d781e93b7046aebf2bd6
2017-11-27 14:34:48 -06:00
Jed Davis
f57faf8137 Bug 1436882 - Fix termination signal when clone()ing child processes. r=gcp
This fixes a mistake in bug 1401062: the termination signal was omitted,
so it's 0, and if it isn't exactly SIGCHLD, then a tracer/debugger will
receive PTRACE_EVENT_CLONE rather than PTRACE_EVENT_FORK.  This causes
GDB to see the child process as a thread instead of a separate process,
and it becomes very confused after the process calls execve().

MozReview-Commit-ID: Baf2RFHVWRU

--HG--
extra : rebase_source : 50839967fc766bb9db123fe1af99a88495f8421b
2018-02-08 17:30:03 -07:00
Jed Davis
927e70c7a5 Bug 1425274 - Filter socketpair() in content sandbox on 32-bit x86 with new-enough kernels. r=gcp
This replaces the globals for whether socket calls (and ipc(2) calls, but
we never used that) have real arguments with a parameter, which in hindsight
should have been done in bug 1273852, which is when we started handling
both socketcall(2) and separate socket calls in the same policy.  This
allows handling the two cases differently.

MozReview-Commit-ID: 1pfckmCpJlW

--HG--
extra : rebase_source : 4b8459f01e8748fea95cbcb6eeb689f01417ca5b
2018-01-29 17:36:06 -07:00