- Oct 11, 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. Changes from original aosp/692189 which was reverted: - There seem to be spurious denials from vendor-specific apps. So added back access from { appdomain -all_untrusted_apps -priv_app } to cgroup. Audit this access with intent to write explicit per-domain rules for it. 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 This reverts commit cacea25e. Change-Id: I05ab404f348a864e8409d811346c8a0bf49bc47a
-
- 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 04, 2018
-
-
Christine Franks authored
Bug: 111215474 Test: boots Change-Id: Ib8cabeb64a8b4ec9f592d870bd0af611a2720cc7
-
- Sep 28, 2018
-
-
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 04, 2018
-
-
Jeff Vander Stoep authored
DropboxManager may pass FDs to any app with the READ_LOGS permission which is available to all apps as a development permission. Test: atest CtsIncidentHostTestCases Fixes: 111856304 Change-Id: I329e3125dab83de948b860061df9d232e31cb23e
-
- Aug 22, 2018
-
-
Christine Franks authored
Bug: 111215474 Test: boots Change-Id: I98955bcd02f643400c3eb97232467c09a2c5c1e5
-
- Aug 02, 2018
-
-
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. This change adds a new file type "privapp_data_file". For compatibility, we adjust the policy to support access privapp_data_files almost everywhere we were previously granting access to app_data_files (adbd and run-as being exceptions). Additional future tightening is possible here by removing some of these newly added rules. This label will start getting used in a followup change to system/sepolicy/private/seapp_contexts, similar to: -user=_app isPrivApp=true domain=priv_app type=app_data_file levelFrom=user +user=_app isPrivApp=true domain=priv_app type=privapp_data_file levelFrom=user For now, this newly introduced label has no usage, so this change is essentially a no-op. Test: Factory reset and boot - no problems on fresh install. Test: Upgrade to new version and test. No compatibility problems on filesystem upgrade. Change-Id: I9618b7d91d1c2bcb5837cdabc949f0cf741a2837
-
- Jun 29, 2018
-
-
Jeff Vander Stoep authored
Suppress selinux logspam for non-API files in /sys. Bug: 110914297 Test: build Change-Id: I9b3bcf2dbf80f282ae5c74b61df360c85d02483c
-
- Jun 01, 2018
-
-
Jeff Vander Stoep authored
The recommended solution is to not access encrypted storage until after the ACTION_USER_UNLOCKED intent is delivered. Test: build Fixes: 72811052 Fixes: 72550646 Change-Id: I80eb743e26047b7864de983c5a46c28b6f753a59
-
- May 04, 2018
-
-
Jeff Vander Stoep authored
Files in /proc/net leak information. This change is the first step in determining which files apps may use, whitelisting benign access, and otherwise removing access while providing safe alternative APIs. To that end, this change: * Introduces the proc_net_type attribute which will assigned to any new SELinux types in /proc/net to avoid removing access to privileged processes. These processes may be evaluated later, but are lower priority than apps. * Labels /proc/net/{tcp,tcp6,udp,udp6} as proc_net_vpn due to existing use by VPN apps. This may be replaced by an alternative API. * Audits all other proc/net access for apps. * Audits proc/net access for other processes which are currently granted broad read access to /proc/net but should not be including storaged, zygote, clatd, logd, preopt2cachename and vold. Bug: 9496886 Bug: 68016944 Test: Boot Taimen-userdebug. On both wifi and cellular: stream youtube navigate maps, send text message, make voice call, make video call. Verify no avc "granted" messages in the logs. Test: A few VPN apps including "VPN Monster", "Turbo VPN", and "Freighter". Verify no logspam with the current setup. Test: atest CtsNativeNetTestCases Test: atest netd_integration_test Test: atest QtaguidPermissionTest Test: atest FileSystemPermissionTest Change-Id: I7e49f796a25cf68bc698c6c9206e24af3ae11457 Merged-In: I7e49f796a25cf68bc698c6c9206e24af3ae11457 (cherry picked from commit 08731895)
-
- Apr 20, 2018
-
-
Joel Galenson authored
avc: denied { search } for name="/" scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:fs_bpf:s0 tclass=dir permissive=0 Bug: 72749888 Test: Boot without seeing the denial. Change-Id: Iaf3559928473c68066e6a42ba71655a683861901 (cherry picked from commit 9ec59f6c)
-
Joel Galenson authored
avc: denied { search } for name="/" scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:fs_bpf:s0 tclass=dir permissive=0 Bug: 72749888 Test: Boot without seeing the denial. Change-Id: Iaf3559928473c68066e6a42ba71655a683861901
-
- Apr 18, 2018
-
-
Jeff Vander Stoep authored
Create a new label for /data/system/dropbox, and neverallow direct access to anything other than init and system_server. While all apps may write to the dropbox service, only apps with android.permission.READ_LOGS, a signature|privileged|development permission, may read them. Grant access to priv_app, system_app, and platform_app, and neverallow access to all untrusted_apps. Bug: 31681871 Test: atest CtsStatsdHostTestCases Test: atest DropBoxTest Test: atest ErrorsTests Change-Id: Ice302b74b13c4d66e07b069c1cdac55954d9f5df
-
- Apr 13, 2018
-
-
Jaekyun Seok authored
Values of the following properties are set by SoC vendors on some devices including Pixels. - persist.bluetooth.a2dp_offload.cap - persist.bluetooth.a2dp_offload.enable - persist.vendor.bluetooth.a2dp_offload.enable - ro.bt.bdaddr_path - wlan.driver.status So they should be whitelisted for compatibility. Bug: 77633703 Test: succeeded building and tested with Pixels Change-Id: Ib2b81bcc1fd70ddd571dc7fb2b923b576d62b7d5 Merged-In: Ib2b81bcc1fd70ddd571dc7fb2b923b576d62b7d5 (cherry picked from commit 224921d1)
-
Jaekyun Seok authored
Values of the following properties are set by SoC vendors on some devices including Pixels. - persist.bluetooth.a2dp_offload.cap - persist.bluetooth.a2dp_offload.enable - persist.vendor.bluetooth.a2dp_offload.enable - ro.bt.bdaddr_path - wlan.driver.status So they should be whitelisted for compatibility. Bug: 77633703 Test: succeeded building and tested with Pixels Change-Id: Ib2b81bcc1fd70ddd571dc7fb2b923b576d62b7d5
-
- Apr 10, 2018
-
-
Jeff Vander Stoep authored
avc: denied { read } for name="ext4" dev="sysfs" ino=32709 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=dir permissive=0 b/72749888 avc: denied { read } for name="state" dev="sysfs" ino=51318 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs_android_usb:s0 tclass=file permissive=0 b/72749888 Bug: 72749888 Test: build/boot taimen-userdebug. No more logspam Change-Id: Ic43d1c8b71e1e5e0e6f9af1e03816c4084120e7e Merged-In: Ic43d1c8b71e1e5e0e6f9af1e03816c4084120e7e (cherry picked from commit 558cdf1e)
- Apr 04, 2018
-
-
Jeff Vander Stoep authored
avc: denied { read } for name="ext4" dev="sysfs" ino=32709 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs:s0 tclass=dir permissive=0 b/72749888 avc: denied { read } for name="state" dev="sysfs" ino=51318 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs_android_usb:s0 tclass=file permissive=0 b/72749888 Bug: 72749888 Test: build/boot taimen-userdebug. No more logspam Change-Id: Ic43d1c8b71e1e5e0e6f9af1e03816c4084120e7e
-
- Apr 03, 2018
-
-
Nathan Harold authored
Because applications should be able to set the receive timeout on UDP encapsulation sockets, we need to allow setsockopt(). getsockopt() is an obvious allowance as well. Bug: 68689438 Test: compilation Merged-In: I2eaf72bcce5695f1aee7a95ec03111eca577651c Change-Id: I2eaf72bcce5695f1aee7a95ec03111eca577651c
-
Nathan Harold authored
Because applications should be able to set the receive timeout on UDP encapsulation sockets, we need to allow setsockopt(). getsockopt() is an obvious allowance as well. Bug: 68689438 Test: compilation Change-Id: I2eaf72bcce5695f1aee7a95ec03111eca577651c
-
- Mar 13, 2018
-
-
Max Bires authored
Only untrusted apps had privilegs to read file descriptors passed in from traceur, which was an oversight. This fixes the policy so that priv apps can also access file descriptors from traceur in order to read reports shared from traceur. Bug: 74435522 Test: better bug has access to reports shared from traceur Change-Id: I591872cdac31eec62edbc81d95f1220f1152427f
-
- Jan 30, 2018
-
-
Jeff Vander Stoep authored
Bug: 72668919 Test: build Change-Id: Id156b40a572dc0dbfae4500865400939985949d9
-
- Jan 20, 2018
-
-
Tri Vo authored
Bug: 65643247 Test: walleye boots with no denials from priv_app. Change-Id: I9a7faf1253bdd79d780c2398c740109e2d84bc63
-
- Jan 19, 2018
-
-
Tao Bao authored
system_update service manages system update information: system updater (priv_app) publishes the pending system update info through the service, while other apps can read the info accordingly (design doc in go/pi-ota-platform-api). This CL adds the service type, and grants priv_app to access the service. Bug: 67437079 Test: Build and flash marlin image. The system_update service works. Change-Id: I7a3eaee3ecd3e2e16b410413e917ec603566b375
-
- Jan 18, 2018
-
-
Jeff Vander Stoep authored
avc: denied { read } scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:proc_version:s0 tclass=file avc: denied { read } scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:wifi_prop:s0 tclass=file avc: denied { read } scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:net_dns_prop:s0 tclass=file Bug: 72151306 Test: build Change-Id: I4b658ccd128746356f635ca7955385a89609eea1
-
- Jan 15, 2018
-
-
Nathan Harold authored
This gives the privilege to system apps, platform apps, ephemeral apps, and privileged apps to receive a UDP socket from the system server. This is being added for supporting UDP Encapsulation sockets for IPsec, which must be provided by the system. This is an analogous change to a previous change that permitted these sockets for untrusted_apps: 0f75a62e Bug: 70389346 Test: IpSecManagerTest, System app verified with SL4A Change-Id: Iec07e97012e0eab92a95fae9818f80f183325c31
-
- Jan 10, 2018
-
-
Primiano Tucci authored
Perfetto is a performance instrumentation and logging framework, living in AOSP's /external/pefetto. Perfetto introduces in the system one binary and two daemons (the binary can specialize in either depending on the cmdline). 1) traced: unprivileged daemon. This is architecturally similar to logd. It exposes two UNIX sockets: - /dev/socket/traced_producer : world-accessible, allows to stream tracing data. A tmpfs file descriptor is sent via SCM_RIGHTS from traced to each client process, which needs to be able to mmap it R/W (but not X) - /dev/socket/traced_consumer : privilege-accessible (only from: shell, statsd). It allows to configure tracing and read the trace buffer. 2) traced_probes: privileged daemon. This needs to: - access tracingfs (/d/tracing) to turn tracing on and off. - exec atrace - connect to traced_producer to stream data to traced. init.rc file: https://android-review.googlesource.com/c/platform/external/perfetto/+/575382/14/perfetto.rc Bug: 70942310 Change-Id: Ia3b5fdacbd5a8e6e23b82f1d6fabfa07e4abc405
-
- Jan 09, 2018
-
-
yro authored
communicate with statsd Test: manual testing conducted Change-Id: Icd268e258f7cbdd9310baab53fe0c66f4f303d5e
-
- Nov 30, 2017
-
-
Ricky Wai authored
Bug: 63908748 Test: built, flashed, able to boot Change-Id: I3cfead1d687112b5f8cd485c8f84083c566fbce2
-
- Nov 09, 2017
-
-
Jeff Vander Stoep authored
Vendor apps may only use servicemanager provided services marked as app_api_service. surfaceflinger_service should be available to vendor apps, so add this attribute and clean up duplicate grants. Addresses: avc: denied { find } scontext=u:r:qtelephony:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager avc: denied { find } scontext=u:r:ssr_detector:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager avc: denied { find } scontext=u:r:qcneservice:s0 tcontext=u:object_r:surfaceflinger_service:s0 tclass=service_manager Bug: 69064190 Test: build Change-Id: I00fcf43b0a8bde232709aac1040a5d7f4792fa0f
-
- Oct 20, 2017
-
-
Jeff Vander Stoep authored
No sign of these denials getting cleaned up, so supress them in core policy. Test: build Change-Id: I0320425cb72cbd15cef0762090899491338d4f7c
-
- Sep 27, 2017
-
-
Dan Cashman authored
This CL was accidentally reverted a second time by commit: cb5129f9. Submit it for the third, and final, time. (cherry-pick of 5637587d which was in AOSP and internal master but not stage-aosp-master) Bug: 62102757 Test: Builds and boots. Change-Id: I0394907e808c737422e644aec452baa3e777cf6f
-
- Sep 26, 2017
-
-
Dan Cashman authored
Bug: 37916906 Test: Builds 'n' boots. Change-Id: Ia1d86264446ebecc1ca79f32f11354921bc77668 Merged-In: I208ec6a864127a059fb389417a9c6b259d7474cb
-
- Jul 10, 2017
-
-
Dan Cashman authored
This CL was accidentally reverted a second time by commit: cb5129f9. Submit it for the third, and final, time. Bug: 62102757 Test: Builds and boots.
-
- Jun 16, 2017
-
-
Chong Zhang authored
bug: 22804304 Change-Id: I7162905d698943d127aa52804396e4765498d028
-
- Jun 15, 2017
-
-
Jeff Vander Stoep authored
Clean up ~50 denials such as: avc: denied { getattr } for comm="highpool[2]" path="/system/bin/bufferhubd" dev="dm-0" ino=1029 scontext=u:r:priv_app:s0:c522,c768 tcontext=u:object_r:bufferhubd_exec:s0 tclass=file avc: denied { getattr } for comm="highpool[3]" path="/system/bin/cppreopts.sh" dev="dm-0" ino=2166 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cppreopts_exec:s0 tclass=file avc: denied { getattr } for comm="CTION_IDLE_MODE" path="/system/bin/fsck.f2fs" dev="dm-0" ino=1055 scontext=u:r:priv_app:s0:c522,c768 tcontext=u:object_r:fsck_exec:s0 tclass=file Bug: 62602225 Bug: 62485981 Test: build policy Change-Id: I5fbc84fb6c97c325344ac95ffb09fb0cfcb90b95
-
- Jun 08, 2017
-
-
Jerry Zhang authored
This reverts commit c147b592. The new domain changed neverallows, breaking CTS compatability. Revert the domain now, with the intention to re-add for the next release. Bug: 62102757 Test: domain is set to priv_app Change-Id: I907ff7c513cd642a306e3eaed3937352ced90005
-
- Jun 07, 2017
-
-
Jerry Zhang authored
This reverts commit c00c07c1. Change-Id: I0c4f5e8cece9c48672a5210adb7e8427e4fd427a
-
- Jun 02, 2017
-
-
Jerry Zhang authored
This reverts commit c147b592. The new domain changed neverallows, breaking CTS compatability. Revert the domain now, with the intention to re-add for the next release. Bug: 62102757 Test: domain is set to priv_app Change-Id: I907ff7c513cd642a306e3eaed3937352ced90005
-