|
| 1 | +### |
| 2 | +### untrusted_base_app_25 |
| 3 | +### |
| 4 | +### This file defines the rules for untrusted apps running with |
| 5 | +### targetSdkVersion <= 25. |
| 6 | +### |
| 7 | +### See public/untrusted_app.te for more information about which apps are |
| 8 | +### placed in this selinux domain. |
| 9 | +### |
| 10 | + |
| 11 | +typeattribute untrusted_base_app_25 coredomain; |
| 12 | + |
| 13 | +app_domain(untrusted_base_app_25) |
| 14 | +untrusted_app_domain(untrusted_base_app_25) |
| 15 | +net_domain(untrusted_base_app_25) |
| 16 | +bluetooth_domain(untrusted_base_app_25) |
| 17 | + |
| 18 | +# b/35917228 - /proc/misc access |
| 19 | +# This will go away in a future Android release |
| 20 | +allow untrusted_base_app_25 proc_misc:file r_file_perms; |
| 21 | + |
| 22 | +# Access to /proc/tty/drivers, to allow apps to determine if they |
| 23 | +# are running in an emulated environment. |
| 24 | +# b/33214085 b/33814662 b/33791054 b/33211769 |
| 25 | +# https://github.com/strazzere/anti-emulator/blob/master/AntiEmulator/src/diff/strazzere/anti/emulator/FindEmulator.java |
| 26 | +# This will go away in a future Android release |
| 27 | +allow untrusted_base_app_25 proc_tty_drivers:file r_file_perms; |
| 28 | + |
| 29 | +# Text relocation support for API < 23. This is now disallowed for targetSdkVersion>=Q. |
| 30 | +# https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#text-relocations-enforced-for-api-level-23 |
| 31 | +allow untrusted_base_app_25 { apk_data_file app_data_file asec_public_file }:file execmod; |
| 32 | + |
| 33 | +# The ability to call exec() on files in the apps home directories |
| 34 | +# for targetApi<=25. This is also allowed for targetAPIs 26, 27, |
| 35 | +# and 28 in untrusted_app_27.te. |
| 36 | +allow untrusted_base_app_25 app_data_file:file execute_no_trans; |
| 37 | +auditallow untrusted_base_app_25 app_data_file:file { execute execute_no_trans }; |
| 38 | + |
| 39 | +# The ability to invoke dex2oat. Historically required by ART, now only |
| 40 | +# allowed for targetApi<=28 for compat reasons. |
| 41 | +allow untrusted_base_app_25 dex2oat_exec:file rx_file_perms; |
| 42 | +userdebug_or_eng(`auditallow untrusted_base_app_25 dex2oat_exec:file rx_file_perms;') |
| 43 | + |
| 44 | +# The ability to talk to /dev/ashmem directly. targetApi>=29 must use |
| 45 | +# ASharedMemory instead. |
| 46 | +allow untrusted_base_app_25 ashmem_device:chr_file rw_file_perms; |
| 47 | +auditallow untrusted_base_app_25 ashmem_device:chr_file open; |
| 48 | + |
| 49 | +# Read /mnt/sdcard symlink. |
| 50 | +allow untrusted_base_app_25 mnt_sdcard_file:lnk_file r_file_perms; |
| 51 | + |
| 52 | +# allow binding to netlink route sockets and sending RTM_GETLINK messages. |
| 53 | +allow untrusted_base_app_25 self:netlink_route_socket { bind nlmsg_readpriv }; |
0 commit comments