- Dec 07, 2016
-
-
Nick Kralevich authored
This functionality is being used by priv_apps shipped as part of Android. Don't drop execute_no_trans as we haven't seen any denials here yet. Addresses the following auditallow messages: avc: granted { execute } for comm="GELServices-0" path="/data/data/com.google.android.googlequicksearchbox/files/velour/dex_cache/Ji1opKyKASKEOKNQUu1QyWw_1.jar/Ji1opKyKASKEOKNQUu1QyWw_1.dex" dev="dm-2" ino=1196939 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file avc: granted { execute } for comm="CTION_IDLE_MODE" path="/data/data/com.google.android.gms/snet/dalvik-cache/snet.dex" dev="dm-2" ino=1114262 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file avc: granted { execute } for comm="lowpool[3]" path="/data/data/com.google.android.gms/files/libAppDataSearchExt_arm64_v8a.so" dev="dm-2" ino=1688320 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file avc: granted { execute } for comm="Binder:9196_2" path="/data/data/com.google.android.gms/app_dg_cache/1FECE961A655634046D6AB5E18FE6F74212FBEA6/lib/libdC14BB7282EA1.so" dev="dm-2" ino=1893474 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file avc: granted { execute } for comm="Binder:13170_1" path="/data/data/com.google.android.gms/app_fb/f.dex" dev="dm-2" ino=1810720 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=file Test: policy compiles. Change-Id: I63358697b07c8f620b999e666791f4f385bab776
-
- Dec 06, 2016
-
-
dcashman authored
In order to support platform changes without simultaneous updates from non-platform components, the platform and non-platform policies must be split. In order to provide a guarantee that policy written for non-platform objects continues to provide the same access, all types exposed to non-platform policy are versioned by converting them and the policy using them into attributes. This change performs that split, the subsequent versioning and also generates a mapping file to glue the different policy components together. Test: Device boots and runs. Bug: 31369363 Change-Id: Ibfd3eb077bd9b8e2ff3b2e6a0ca87e44d78b1317
-
- Dec 05, 2016
-
-
Daniel Micay authored
In general, apps shouldn't be executing data from their writable data directories. Allowing this is a security risk and use cases for this are almost always anti-patterns where saner alternatives are available such as using one of the standard systems for shipping libraries (extracted by the package manager or aligned/uncompressed in the apk) or using the existing package system to handle plugins. It's reasonable for the untrusted_app domain to have this (not just for backwards compatibility) for priv_app should be held to a higher standard. Ideally, untrusted apps would be able to opt-in to disabling this and then the default could then be switched at a new API level. It could do more than just hardening apps not requiring it by having documentation explain the risks and offer alternatives to reduce 'legitimate' use. The base system could disable it for all of the bundled untrusted apps. Change-Id: I4efcfaf01c6b6c33c39e98c22a1934e8892e2147
-
- Nov 15, 2016
-
-
Daichi Hirono authored
Bug: 29970149 Test: None Change-Id: I59f49f3bf20d93effde5e1a9a3c1ed64fbecb7a8
-
- Oct 06, 2016
-
-
dcashman authored
Divide policy into public and private components. This is the first step in splitting the policy creation for platform and non-platform policies. The policy in the public directory will be exported for use in non-platform policy creation. Backwards compatibility with it will be achieved by converting the exported policy into attribute-based policy when included as part of the non-platform policy and a mapping file will be maintained to be included with the platform policy that maps exported attributes of previous versions to the current platform version. Eventually we would like to create a clear interface between the platform and non-platform device components so that the exported policy, and the need for attributes is minimal. For now, almost all types and avrules are left in public. Test: Tested by building policy and running on device. Change-Id: Idef796c9ec169259787c3f9d8f423edf4ce27f8c
-
- Sep 13, 2016
-
-
Tao Bao authored
(cherry picked from commit 6c3f2831) Allow priv_app, uncrypt, update_engine to access the OTA packages at /data/ota_package (both A/B and non-A/B). GMSCore (priv_app) checks the existence of the folder, and downloads the package there if present. Bug: 28944800 Change-Id: I3c0717861fce7f93b33874a99f6a4a55567612a5
-
- Sep 10, 2016
-
-
Jeff Vander Stoep authored
Grant permissions observed. Bug: 28760354 Change-Id: Ie63cda709319bbf635ef7bffbba3477c2cccc11b
-
- Aug 29, 2016
-
-
Jeff Vander Stoep authored
Grant permissions observed. (cherry picked from commit 9c820a11) Merged-in: Ifdead51f873eb587556309c48fb84ff1542ae303 Bug: 28760354 Change-Id: Ifdead51f873eb587556309c48fb84ff1542ae303
-
- Jun 06, 2016
-
-
Tao Bao authored
Allow priv_app, uncrypt, update_engine to access the OTA packages at /data/ota_package (both A/B and non-A/B). GMSCore (priv_app) checks the existence of the folder, and downloads the package there if present. Bug: 28944800 Change-Id: I3c0717861fce7f93b33874a99f6a4a55567612a5
-
- May 24, 2016
-
-
Fyodor Kupolov authored
A new directory is created in user data partition that contains preloaded content such as a retail mode demo video and pre-loaded APKs. The new directory is writable/deletable by system server. It can only be readable (including directory list) by privileged or platform apps Bug: 28855287 Change-Id: I3816cd3a1ed5b9a030965698a66265057214f037
-
- Apr 11, 2016
-
-
Peng Xu authored
This allows system app, regular app as well as test app to access ContextHubManager API. Additional "signature|privilige" permission requirement (LOCATION_HARDWARE) still exist to prevent security issues, misuse and abuse. Change-Id: I47f3d243a3de7f1202c933fc715a935c43cf319b
-
- Mar 30, 2016
-
-
Jeff Vander Stoep authored
Bug: 27545805 Change-Id: I6281dd64c51f74b467deb7acd5cd4403696dcff2
-
- Mar 16, 2016
-
-
Nick Kralevich authored
The changes to ptrace in https://android-review.googlesource.com/#/c/175786/ (removing it from app.te and only adding it to isolated_app and untrusted_app) broke WebView crash handling in cases where privileged apps (like gmscore) use WebView. The only way to fix this would be to allow priv_app to self-ptrace as well. :/ Bug: 27697529 Change-Id: Ib9a3810dddc9f4213b6260133cbae23f669ae8dc
-
- Mar 15, 2016
-
-
Peng Xu authored
SELinux label is created for contexthub_service system service. ContextHub service manages all available context hubs and serves fulfil communication between apps and underlying context hub hardware. Change-Id: I8470fedd9c79a00012e1cdb9b548a1b632ba7de6
-
- Mar 09, 2016
-
-
Jeff Vander Stoep authored
Addresses: avc: denied { find } for service=media.drm pid=6030 uid=10012 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:mediadrmserver_service:s0 tclass=service_manager Bug: 27553530 Change-Id: I060de7ee1f66c7a545076b7de8363bebaac61f2c
-
- Mar 02, 2016
-
-
Jeff Sharkey authored
avc: denied { write } for path="/data/system_de/0/ringtones/ringtone_cache" dev="mmcblk0p44" ino=1602501 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:ringtone_file:s0 tclass=file permissive=0 Bug: 27366059 Change-Id: I120a69ac4f58c64db6f169ae4f9942ce357b0b1f
-
- Feb 22, 2016
-
-
Tao Bao authored
RecoverySystemService is separated from PowerManagerService as a dedicated system service to handle recovery related requests (such as invoking uncrypt to uncrypt an OTA package on /data or to set up / clear the bootloader control block (i.e. /misc) and etc). The matching CL in frameworks/base is in: Change-Id: Ic606fcf5b31c54ce54f0ab12c1768fef0fa64560. Bug: 26830925 Change-Id: Iee0583c458f784bfa422d0f7af5d1f2681d9609e (cherry picked from commit 65b5fde9)
-
Tao Bao authored
RecoverySystemService is separated from PowerManagerService as a dedicated system service to handle recovery related requests (such as invoking uncrypt to uncrypt an OTA package on /data or to set up / clear the bootloader control block (i.e. /misc) and etc). The matching CL in frameworks/base is in: Change-Id: Ic606fcf5b31c54ce54f0ab12c1768fef0fa64560. Bug: 26830925 Change-Id: Iee0583c458f784bfa422d0f7af5d1f2681d9609e
-
- Feb 10, 2016
-
-
dcashman authored
Address the following denial from 3rd party voice interaction test: SELinux : avc: denied { find } for service=voiceinteraction pid=30281 uid=10139 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:voiceinteraction_service:s0 tclass=service_manager permissive=0 Bug: 27105570 Change-Id: Ib87d364673cbc883df017bcda7fe1e854a76654f
-
- Feb 09, 2016
-
-
Marco Nelissen authored
Bug: 22775369 Change-Id: Ic6abe3d0e18ba6f7554d027e0ec05fd19011709b
-
- Feb 05, 2016
-
-
Daichi Hirono authored
The labels for filesystem and files are assigned by vold with using context= mount option. Change-Id: I8a9d701a46a333093a27107fc3c52b17a2af1a94
-
- Jan 28, 2016
-
-
Marco Nelissen authored
This reverts commit 2afb217b. Change-Id: Ie2ba8d86f9c7078f970afbb06230f9573c28e0ed
-
- Jan 27, 2016
-
-
Chien-Yu Chen authored
Update policies for cameraserver so it has the same permissions as mediaserver. Bug: 24511454 Change-Id: I1191e2ac36c00b942282f8dc3db9903551945adb
-
- Jan 26, 2016
-
-
dcashman authored
The services under this label are not meant to be exposed to all apps. Currently only priv_app needs access. Bug: 26799206 Change-Id: I07c60752d6ba78f27f90bf5075bcab47eba90b55
-
Tao Bao authored
Register service with servicemanager and name the context. avc: denied { call } for scontext=u:r:update_engine:s0 tcontext=u:r:servicemanager:s0 tclass=binder avc: denied { add } for service=android.os.IUpdateEngine scontext=u:r:update_engine:s0 tcontext=u:object_r:update_engine_service:s0 tclass=service_manager Also allow priv_app to communicate with update_engine. avc: denied { find } for service=android.os.IUpdateEngine scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:update_engine_service:s0 tclass=service_manager avc: denied { call } for scontext=u:r:priv_app:s0:c512,c768 tcontext=u:r:update_engine:s0 tclass=binder avc: denied { call } for scontext=u:r:update_engine:s0 tcontext=u:r:priv_app:s0 tclass=binder Change-Id: Ib4498717c1a72f5faab5ea04c636924ee4eb412c
-
- Jan 22, 2016
-
-
Marco Nelissen authored
Bug: 22775369 Change-Id: I9733457b85dbaeb872b8f4aff31d0b8808fa7d44
-
- Jan 16, 2016
-
-
Nick Kralevich authored
This is actually used. Addresses the following SELinux audit logs: avc: granted { create } for comm="Thread-157" name="uncrypt_file" scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cache_recovery_file:s0:c512,c768 tclass=file avc: granted { add_name } for comm="Thread-157" name="uncrypt_file" scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cache_recovery_file:s0 tclass=dir avc: granted { write } for comm="Thread-157" path="/cache/recovery/uncrypt_file" dev="mmcblk0p38" ino=22 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cache_recovery_file:s0:c512,c768 tclass=file avc: granted { write } for comm="Thread-157" path="/cache/recovery/command" dev="mmcblk0p38" ino=23 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cache_recovery_file:s0:c512,c768 tclass=file avc: granted { setattr } for comm="Thread-157" name="uncrypt_file" dev="mmcblk0p38" ino=22 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cache_recovery_file:s0:c512,c768 tclass=file Change-Id: Idab00ebc8eacd7d8bb793b9342249227f91986a1
-
- Jan 08, 2016
-
-
Nick Kralevich authored
priv_app reads from /cache/recovery, but I'm still not sure if it writes. Eliminate the read auditallow rules and allow the writes to show up (if any). Eliminates the following auditallow messages: avc: granted { search } for comm="IntentService[S" name="recovery" dev="mmcblk0p38" ino=12 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:cache_recovery_file:s0 tclass=dir avc: granted { getattr } for comm="Thread-1" path="/cache/recovery/last_install" dev="mmcblk0p27" ino=29891 scontext=u:r:priv_app:s0:c525,c768 tcontext=u:object_r:cache_recovery_file:s0 tclass=file avc: granted { read open } for comm="Thread-1" name="recovery" dev="mmcblk0p27" ino=29889 scontext=u:r:priv_app:s0:c525,c768 tcontext=u:object_r:cache_recovery_file:s0 tclass=dir Change-Id: Ibc0640f5366aae50e3fd09d17657374390b24a5c
-
- Jan 06, 2016
-
-
Jeff Vander Stoep authored
Exempt bluetooth which has net_admin capability. Allow Droidguard to access the MAC address - droidguard runs in priv_app domain. Change-Id: Ia3cf07f4a96353783b2cfd7fc4506b7034daa2f1
-
- Jan 04, 2016
-
-
Felipe Leme authored
This permission was created mostly for dumpstate (so it can include recovery files on bugreports when an OTA fails), but it was applied to uncrypt and recovery as well (since it had a wider access before). Grant access to cache_recovery_file where we previously granted access to cache_file. Add auditallow rules to determine if this is really needed. BUG: 25351711 Change-Id: I07745181dbb4f0bde75694ea31b3ab79a4682f18
-
dcashman authored
Address following denials: avc: denied { getattr } for path="/sys/devices/virtual/block/zram0/disksize" dev="sysfs" ino=14958 scontext=u:r:init:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0 avc: denied { search } for name="zram0" dev="sysfs" ino=14903 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0 avc: denied { read } for name="mem_used_total" dev="sysfs" ino=14970 scontext=u:r:system_server:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0 avc: denied { write } for name="uevent" dev="sysfs" ino=14904 scontext=u:r:ueventd:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0 avc: denied { open } for path="/sys/devices/virtual/block/zram0/uevent" dev="sysfs" ino=14904 scontext=u:r:ueventd:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=file permissive=0 avc: denied { read } for pid=348 comm="vold" name="zram0" dev="sysfs" ino=15223 scontext=u:r:vold:s0 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0 avc: denied { search } for pid=3494 comm="ContactsProvide" name="zram0"dev="sysfs" ino=15223 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:sysfs_zram:s0 tclass=dir permissive=0 Bug: 22032619 Change-Id: I40cf918b7cafdba6cb3d42b04b1616a84e4ce158
-
- Dec 24, 2015
-
-
Daichi Hirono authored
The new rules are used to allow to mount FUSE file system for priv-app. Change-Id: I5ce2d261be501e2b3fef09b7666f1e5d1cddbe52
-
- Dec 08, 2015
-
-
Marco Nelissen authored
audioserver has the same rules as mediaserver so there is no loss of rights or permissions. media.log moves to audioserver. TBD: Pare down permissions. Bug: 24511453 Change-Id: I0fff24c14b712bb3d498f75e8fd66c2eb795171d
-
- Dec 03, 2015
-
-
Jeff Vander Stoep authored
Allows safetynet to scan the system partition which is made up of files labeled system_file (already allowed) and/or files with the exec_type attribute. Bug: 25821333 Change-Id: I9c1c9c11bc568138aa115ba83238ce7475fbc5e4
-
- Nov 03, 2015
-
-
Jeff Vander Stoep authored
Motivation: Domain is overly permissive. Start removing permissions from domain and assign them to the domain_deprecated attribute. Domain_deprecated and domain can initially be assigned to all domains. The goal is to not assign domain_deprecated to new domains and to start removing domain_deprecated where it is not required or reassigning the appropriate permissions to the inheriting domain when necessary. Bug: 25433265 Change-Id: I8b11cb137df7bdd382629c98d916a73fe276413c
-
- Oct 27, 2015
-
-
Marco Nelissen authored
Change-Id: If761e0370bf9731a2856d0de2c6a6af1671143bd
-
- Oct 19, 2015
-
-
Jeff Vander Stoep authored
android.process.media needs access to mtp_usb when MTP is enabled. Bug: 25074672 Change-Id: Ic48a3ba8e4395104b0b957f7a9bad69f0e5ee38e
-
Jeff Vander Stoep authored
Verifier needs access to apk files. avc: denied { search } for pid=11905 comm="ackageinstaller" name="vmdl2040420713.tmp" dev="dm-2" ino=13647 scontext=u:r:priv_app:s0:c512,c768 tcontext=u:object_r:apk_tmp_file:s0 tclass=dir permissive=0 Give bluetooth_manager_service and trust_service the app_api_service attribute. avc: denied { find } for service=bluetooth_manager pid=7916 uid=10058 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:bluetooth_manager_service:s0 tclass=service_manager permissive=0 avc: denied { find } for service=trust pid=25664 uid=10069 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:trust_service:s0 tclass=service_manager permissive=0 Bug: 25066911 Change-Id: I6be695546f8a951e3329c1ec412936b8637e5835
-
- Oct 15, 2015
-
-
Jeff Vander Stoep authored
gmscore uses cache for updates Bug: 24977552 Change-Id: I45a713fcfc70b71a2de712e77b64fb9feab67dd7
-
- Oct 14, 2015
-
-
Jeff Vander Stoep authored
Assign priviliged apps not signed with the platform key to the priv_app domain. Bug: 22033466 Change-Id: Idf7fbe7adbdc326835a179b554f96951b69395bc
-