diff --git a/domain.te b/domain.te index 87422de98f3bb048a068ad32541c9929748c3473..3f29fb66519c594cf7461a2d6614073cde02aaa6 100644 --- a/domain.te +++ b/domain.te @@ -110,8 +110,8 @@ allow domain system_file:file execute; allow domain system_file:lnk_file r_file_perms; # Run toolbox. -# Kernel and init never run anything without changing domains. -allow { domain -kernel -init } toolbox_exec:file rx_file_perms; +# Kernel, init, and mediaserver never run anything without changing domains. +allow { domain -kernel -init -mediaserver } toolbox_exec:file rx_file_perms; # Read files already opened under /data. allow domain system_data_file:dir { search getattr }; diff --git a/mediaserver.te b/mediaserver.te index af455538f9aeea3533319f2b0f15b1b71a50d994..f38a3ec6f1cf2a4592af09c61bc869a576ab64ba 100644 --- a/mediaserver.te +++ b/mediaserver.te @@ -105,3 +105,11 @@ allow mediaserver drmserver:drmservice { finalizeDecryptUnit pread }; + +### +### neverallow rules +### + +# mediaserver should never execute any executable without a +# domain transition +neverallow mediaserver { file_type fs_type }:file execute_no_trans;