diff --git a/app.te b/app.te index 7de624b7a03d25688d6df136fe60c6a3fc4fed88..45225b54df1d448e16e14baecf34aa5b2b1f60f6 100644 --- a/app.te +++ b/app.te @@ -222,6 +222,10 @@ selinux_check_context(appdomain) auditallow { appdomain userdebug_or_eng(`-su') } sysfs:dir { open getattr read ioctl }; auditallow { appdomain userdebug_or_eng(`-su') } sysfs:file r_file_perms; +# Apps receive an open tun fd from the framework for +# device traffic. Do not allow untrusted app to directly open tun_device +allow { appdomain -isolated_app } tun_device:chr_file { read write getattr ioctl append }; + ### ### Neverallow rules ### diff --git a/untrusted_app.te b/untrusted_app.te index 055844341c45ddb7544890691f2ebc7c66a32775..463745ef1c17729ffbd925c49de37e48e2057cce 100644 --- a/untrusted_app.te +++ b/untrusted_app.te @@ -29,10 +29,6 @@ bluetooth_domain(untrusted_app) # to their sandbox directory and then execute. allow untrusted_app app_data_file:file { rx_file_perms execmod }; -# Third party vpn apps receive an open tun fd from the framework for -# device traffic. Do not allow untrusted app to directly open tun_device -allow untrusted_app tun_device:chr_file { read write getattr ioctl append }; - # ASEC allow untrusted_app asec_apk_file:file r_file_perms; # Execute libs in asec containers.