- Oct 10, 2018
-
-
Nick Kralevich authored
This reverts commit 9899568f. Reason for revert: Reports of high numbers of SELinux denials showing up on the SELinux dashboard. Bug: 110043362 Change-Id: Id8fc260c47ffd269ac2f15ff7dab668c959e3ab0
-
- Oct 09, 2018
-
-
Tri Vo authored
What changed: - Removed cgroup access from untrusted and priv apps. - Settings app writes to /dev/stune/foreground/tasks, so system_app domain retains access to cgroup. - libcutils exports API to /dev/{cpuset, stune}/*. This API seems to be used abundantly in native code. So added a blanket allow rule for (coredomain - apps) to access cgroups. - For now, only audit cgroup access from vendor domains. Ultimately, we want to either constrain vendor access to individual domains or, even better, remove vendor access and have platform manage cgroups exclusively. Bug: 110043362 Test: adb shell setprop ro.config.per_app_memcg true, device correctly populates /dev/memcg on a per app basis on a device that supports that. Test: aosp_sailfish, wahoo boot without cgroup denials Change-Id: I9e441b26792f1edb1663c660bcff422ec7a6332b
-
- Oct 08, 2018
-
-
Sudheer Shanka authored
Bug: 117440207 Bug: 111890351 Test: manual Change-Id: Ie218dec3e4f0f5dbade6d1c4d28b259909664056
-
Igor Murashkin authored
This daemon is very locked down. Only system_server can access it. Bug: 72170747 Change-Id: I7b72b9191cb192be96001d84d067c28292c9688f
-
Howard Ro authored
We plan on migrating MetricsLogger to write to statsd socket. So we need to allow zygote, which writes to logd using MetricsLogger, to also be able to statsd. We also re-locate some sepolicies to write to statsd socket in their respective policy definitions. Bug: 110537511 Test: no failure/violations observed Change-Id: I21fd352a25ed946516f9a45ac3b5e9bf97b059bc
-
Tri Vo authored
Bug: 117178352 Test: no denials to /system/asan.options on asan walleye Change-Id: I6042693afb926a22a3e2be79bd2a7ba062806143
-
Mark Salyzyn authored
A default set of options are available, but can override in a fstab overlay entry with upperdir=, lowerdir= to the same mount point, workdir=. The default is a valid /mnt/scratch/overlay/ or /cache/overlay/ directory, with .../<mount_point>/upper and .../<mount_point>/work, associated with each system partition <mount_point>. Test: manual Bug: 109821005 Change-Id: I5662c01fad17d105665be065f6dcd7c3fdc40d95
-
- Oct 04, 2018
-
-
Christine Franks authored
Bug: 111215474 Test: boots Change-Id: Ib8cabeb64a8b4ec9f592d870bd0af611a2720cc7
-
Martijn Coenen authored
apexd is a new daemon for managing APEX packages installed on the device. It hosts a single binder service, "apexservice". Bug: 112455435 Test: builds, binder service can be registered, apexes can be accessed, verified and mounted Change-Id: I634ad100f10b2edcd9a9c0df0d33896fa5d4ed97
-
- Oct 03, 2018
-
-
Nick Kralevich authored
Isolated apps provide a very strict security guarantee, including the inability to create networking sockets like TCP / UDP sockets. Add an SELinux neverallow assertion to test for this and prevent regressions. Test: policy compiles. Change-Id: I2618abb17375707eb1048e89faa46f57d33e1df4
-
- Oct 02, 2018
-
-
Tri Vo authored
New maintenance scheme for mapping files: Say, V is the current SELinux platform version, then at any point in time we only maintain (V->V-1) mapping. (V->V-n) map is constructed from top (V->V-n+1) and bottom (V-n+1->V-n) without changes to previously maintained mapping files. Caveats: - 26.0.cil doesn't technically represent 27.0->26.0 map, but rather current->26.0. We'll fully migrate to the scheme with future releases. Bug: 67510052 Test: adding new public type only requires changing the latest compat map Change-Id: Iab5564e887ef2c8004cb493505dd56c6220c61f8
-
- Oct 01, 2018
-
-
Tri Vo authored
Test: m selinux_policy Change-Id: I6a8ff2200c82b6ecdc1404bc7cf186f439950a30
-
Tri Vo authored
Map proc_qtaguid_ctrl to qtaguid_proc, not qtaguid_device. Map proc_slabinfo to proc in the correct place. Test: m selinux_policy Change-Id: I37c9dfe40bd20924215856b5d4ff7d9b3cbd0417
-
Jeff Vander Stoep authored
Remove these files from proc_net_type. Domains that need access must have permission explicitly granted. Neverallow app access except the shell domain. Bug: 114475727 Test: atest CtsLibcoreOjTestCases Test: netstat, lsof Test: adb bugreport Change-Id: I2304e3e98c0d637af78a361569466aa2fbe79fa0
-
- Sep 28, 2018
-
-
Howard Ro authored
Bug: 116732452 Test: No sepolicy violations observed with this change (cherry picked from commit I1958182dd8ecc496625da2a2a834f71f5d43e7bb) Change-Id: Ib386767d8acfacf9fedafd9a79dd555ce233f41c
-
Sudheer Shanka authored
Bug: 111890351 Test: manual Change-Id: I37d632c9877c6d6f929937d8e25098763807630c
-
Jeff Vander Stoep authored
This change is for testing potential app-compat issues when removing access to file in /proc/net. See: b/114475727#comment11. Bug: 114475727 Test: build/boot taimen. Test: atest CtsLibcoreOjTestCases Test: FileSystemPermissionTest Test: ListeningPortsTest b/114772424 Change-Id: I1db1c2b41308e47c9ec9db57ea8597a650c8906d (cherry picked from commit 6784f80b)
-
Chenbo Feng authored
In the next Android release, there will be devices that have no xt_qtaguid module at all and framework and netd will decide which code path it takes for trafficStats depending on the device setup. So all apps and services should not depend on this device specific implementation anymore and use public API for the data they need. Bug: 114475331 Bug: 79938294 Test: QtaguidPermissionTest Change-Id: I0d37b2df23782eefa2e8977c6cdbf9210db3e0d2
-
- Sep 27, 2018
-
-
Nick Kralevich authored
system_file_type is a new attribute used to identify files which exist on the /system partition. It's useful for allow rules in init, which are based off of a blacklist of writable files. Additionally, it's useful for constructing neverallow rules to prevent regressions. Additionally, add commented out tests which enforce that all files on the /system partition have the system_file_type attribute. These tests will be uncommented in a future change after all the device-specific policies are cleaned up. Test: Device boots and no obvious problems. Change-Id: Id9bae6625f042594c8eba74ca712abb09702c1e5
-
Nick Kralevich authored
/system/usr/share/zoneinfo is currently labeled zoneinfo_data_file, a label shared with /data/misc/zoneinfo. However, each of these directory locations has different security characteristics. In particular, the files in /system/usr/share/zoneinfo must never be writable, whereas /data/misc/zoneinfo may be written to by system_server. Reusing the same label hides these different security characteristics. Create a separate label for /system/usr/share/zoneinfo. Test: Device boots and no obvious problems. Change-Id: I8cf16ff038b06b38f77388e546d9b7a6865f7879
- Sep 24, 2018
-
-
Tri Vo authored
Fixes: avc: denied { read } for comm="init" name="linker_asan64" dev="sda22" ino=1833 scontext=u:r:init:s0 tcontext=u:object_r:system_linker_exec:s0 tclass=lnk_file permissive=0 Bug: 116486312 Test: adb unroot && adb shell ls -l /system/bin/linker_asan Change-Id: I754daaf3576e83d516cc9189b8be04dcc41bbc5c
-
Fan Xu authored
Create a new service type buffer_hub_binder_service for BufferHubBinderService and allow bufferhubd to publish the service. Add the service to 26.0, 27.0 and 28.0 compat ignore files since the service is not available in past versions. Fixes: 116022258 Test: build passed Change-Id: I5a21f00329ed474433d96c8d1ce32377f20cada3
-
Tej Singh authored
This adds /proc/uid_io/stats to the files that system server is able to read. Test: Manual test on master produces no selinux violations. Change-Id: I2c7afec149f893b000094739d91531dec559de6f
-
Oleksiy Avramchenko authored
Allow vold to run exFAT filesystem check. Test: build, mount exFAT volume Bug: 80202067 Change-Id: I68f3438de89246e806cebe483f37e31c68aaa3d7
-
- Sep 23, 2018
-
-
Jeff Vander Stoep authored
Assert that only apps and installd may open private app files. Remove "open" permission for mediaserver/vold and remove their neverallow exemption. Test: verify no related audit messages in the logs. Test: build Fixes: 80300620 Fixes: 80418809 Bug: 80190017 Change-Id: If0c1862a273af1fedd8898f334c9b0aa6b9be728
-
- Sep 21, 2018
-
-
Kevin Chyn authored
Bug: 111461540 Bug: 112570477 Test: builds Change-Id: Icc68720ebe931c2d917703b2d34aa0f4eec3f549 Merged-In: Icc68720ebe931c2d917703b2d34aa0f4eec3f549
-
- Sep 20, 2018
-
-
Yifan Hong authored
...to reflect that the HAL operates on storage devices, not filesystem. Bug: 111655771 Test: compiles Change-Id: Ibb0572cb1878359e5944aa6711331f0c7993ba6e Merged-In: Ibb0572cb1878359e5944aa6711331f0c7993ba6e
-
Tri Vo authored
This change limits global access to /system files down to: /system/bin/linker* /system/lib[64]/* /system/etc/ld.config* /system/etc/seccomp_policy/* /system/etc/security/cacerts/* /system/usr/share/zoneinfo/* Bug: 111243627 Test: boot device, browse internet without denials to system_* types. Test: VtsHalDrmV1_{1, 0}TargetTest without denials Change-Id: I69894b29733979c2bc944ac80229e84de5d519f4
-
- Sep 19, 2018
-
-
Benjamin Gordon authored
kernel commit 2a4c22426955d4fc04069811997b7390c0fb858e (fs: switch order of CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH checks) swapped the order of dac_override and dac_read_search checks. Domains that have dac_override will now generate spurious denials for dac_read_search unless they also have that permission. Since dac_override is a strict superset of dac_read_search, grant dac_read_search to all domains that already have dac_override to get rid of the denials. Bug: 114280985 Bug: crbug.com/877588 Test: Booted on a device running 4.14. Change-Id: I5c1c136b775cceeb7f170e139e8d4279e73267a4
-
Primiano Tucci authored
This allows the trace producer daemon to snapshot counters at high frequency in the trace. As usual for Perfetto, this data is NOT made available to arbitrary apps but only to an extremely limited subset of processes governed by selinux rules (currently shell and statsd). Bug: 115956288 Change-Id: I7e1bfda4b568b9bac9012b198ecbb998da4f773d
-
- Sep 17, 2018
-
-
Joel Galenson authored
Test: Build. Change-Id: I5c02916dfa3b2e8d5ba2bc586d05a69bd1f1254f Merged-In: I150bc74b13a77f00a7e8b31a6c2edf9654bdbe59
-
- Sep 14, 2018
-
-
Nick Kralevich authored
Add additional compile time constraints on the ability to ptrace various sensitive domains. llkd: remove some domains which llkd should never ptrace, even on debuggable builds, such as kernel threads and init. crash_dump neverallows: Remove the ptrace neverallow checks because it duplicates other neverallow assertions spread throughout the policy. Test: policy compiles and device boots Change-Id: Ia4240d1ce7143b983bb048e046bb4729d0af5a6e
-
Jeff Vander Stoep authored
Bug: 9496886 Bug: 109758967 Test: atest HostsideVpnTests Change-Id: I1716d9c740b374b861e691b31ab271c681cf6bff
-
- Sep 13, 2018
-
-
Yangster authored
Test: manual test BUG: b/112432890 Change-Id: If703cd25a2c0864ffd49bfdc83821fae291974b5
-
- Sep 12, 2018
-
-
Nick Kralevich authored
Test: comments only. Policy compiles. Change-Id: Ic51533d37fff6c553950a122f33a48e3c119c67c
-
Nick Kralevich authored
Currently, both untrusted apps and priv-apps use the SELinux file label "app_data_file" for files in their /data/data directory. This is problematic, as we really want different rules for such files. For example, we may want to allow untrusted apps to load executable code from priv-app directories, but disallow untrusted apps from loading executable code from their own home directories. Commit 23c9d91b introduced a new type called privapp_data_file and added rules necessary to preserve compatibility. However, that change did not relabel any existing files, so effectively the change was a no-op. This change performs the switch, relabeling priv-app's /data/data files from app_data_file to privapp_data_file. Due to the compatibility rules added in 23c9d91b, there should be no noticeable effect from this change. This change was originally submitted as 4df57822. However, it was reverted in cdc6649a due to a different labeling bug. That bug has been fixed, and we can reapply this change. Test: Factory reset and boot - no problems on fresh install. Test: Upgrade to new version and test. No compatibility problems on filesystem upgrade. Bug: 112357170
-
- Sep 10, 2018
-
-
Benjamin Gordon authored
Kernel commit 8a2af06415ef0fc922162503dd18da0d9be7771f (ashmem: switch to ->read_iter) switched ashmem from using __vfs_read to vfs_iter_read to read the backing shmem file. Prior to this, reading from an ashmem fd that was passed between processes didn't hit any permission checks; now SELinux checks that the receiver can read from the creator's file context. Some apps receive buffers through ashmem from system_server, e.g., the settings app reads battery stats from system_server through ashmem when an app details page is opened. Restore this ability by giving apps read access to system_server_tmpfs. system_server is still responsible for creating and passing across the ashmem buffers, so this doesn't give apps the ability to read anything system_server isn't willing to give them. Bug: 112987536 Bug: 111381531 Test: atest android.appsecurity.cts.PermissionsHostTest on kernel 4.14 Change-Id: Ice5e25f55bc409e91ad7e8c7ea8b28ae213191a3
-
Hector Dearman authored
Historically most uses of atrace happen via the shell domain. There are two exceptions: - boot tracing - traced_probes We need to get feature parity, so atrace has the same behavior when is invoked either via shell or from its own domain (e.g. via traced_probes that has an auto_trans rule into atrace on exec). Atrace works by setting system properties to enable tracing from userspace then poking all the binder services to read the system properties (see [1]) so enabling the system_server category requires the ability to call binder methods on the system_server. For more use cases see b/113127224 [1]: https://android.googlesource.com/platform/frameworks/native/+/9ead54bed65d486fe435793cbe98ed8b4786f7be/cmds/atrace/atrace.cpp#545 Bug: 113127224 Test: Add an atrace category to the Perfetto config and confirm the data shows up. Change-Id: Id077eff960ffb1cdd7b0ce84b21ac9ef70444a4a
-
- Sep 07, 2018
-
-
Nick Kralevich authored
https://github.com/torvalds/linux/commit/af63f4193f9fbbbac50fc766417d74735afd87ef allows a security policy writer to determine whether transitions under nosuid / NO_NEW_PRIVS should be allowed or not. Define these permissions, so that they're usable to policy writers. This change is modeled after refpolicy https://github.com/TresysTechnology/refpolicy/commit/1637a8b407c85f67f0b2ca5c6d852cef3c999087 Test: policy compiles and device boots Test Note: Because this requires a newer kernel, full testing on such kernels could not be done. Change-Id: I9866724b3b97adfc0cdef5aaba6de0ebbfbda72f
-