commit: 5c0380690178b590981b61a84253b8ca67452d65 Author: Chris PeBenito <pebenito <AT> ieee <DOT> org> AuthorDate: Sat Apr 29 15:13:24 2017 +0000 Commit: Sven Vermeulen <swift <AT> gentoo <DOT> org> CommitDate: Sun Apr 30 14:17:45 2017 +0000 URL: https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=5c038069
apt/dpkg strict patches from Russell Coker. The following are needed for correct operation of apt and dpkg on a "strict" configuration. policy/modules/contrib/apt.te | 6 ++++-- policy/modules/contrib/dpkg.if | 20 ++++++++++++++++++++ policy/modules/contrib/dpkg.te | 5 ++++- policy/modules/contrib/mta.te | 7 ++++++- 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/policy/modules/contrib/apt.te b/policy/modules/contrib/apt.te index dc6f09b1..63b93257 100644 --- a/policy/modules/contrib/apt.te +++ b/policy/modules/contrib/apt.te @@ -1,4 +1,4 @@ -policy_module(apt, 1.10.2) +policy_module(apt, 1.10.3) ######################################## # @@ -39,7 +39,7 @@ logging_log_file(apt_var_log_t) # Local policy # -allow apt_t self:capability { chown dac_override fowner fsetid }; +allow apt_t self:capability { chown dac_override fowner fsetid kill setgid setuid }; allow apt_t self:process { signal setpgid fork }; allow apt_t self:fd use; allow apt_t self:fifo_file rw_fifo_file_perms; @@ -69,12 +69,14 @@ manage_sock_files_pattern(apt_t, apt_tmpfs_t, apt_tmpfs_t) fs_tmpfs_filetrans(apt_t, apt_tmpfs_t, { dir file lnk_file sock_file fifo_file }) manage_files_pattern(apt_t, apt_var_cache_t, apt_var_cache_t) +manage_dirs_pattern(apt_t, apt_var_cache_t, apt_var_cache_t) files_var_filetrans(apt_t, apt_var_cache_t, dir) manage_files_pattern(apt_t, apt_var_lib_t, apt_var_lib_t) files_var_lib_filetrans(apt_t, apt_var_lib_t, dir) allow apt_t apt_var_log_t:file manage_file_perms; +allow apt_t apt_var_log_t:dir manage_dir_perms; logging_log_filetrans(apt_t, apt_var_log_t, file) can_exec(apt_t, apt_exec_t) diff --git a/policy/modules/contrib/dpkg.if b/policy/modules/contrib/dpkg.if index 081134f2..c753ad62 100644 --- a/policy/modules/contrib/dpkg.if +++ b/policy/modules/contrib/dpkg.if @@ -179,6 +179,26 @@ interface(`dpkg_use_script_fds',` ######################################## ## <summary> +## Inherit and use file descriptors +## from dpkg scripts. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`dpkg_script_rw_inherited_pipes',` + gen_require(` + type dpkg_script_t; + ') + + allow $1 dpkg_script_t:fd use; + allow $1 dpkg_script_t:fifo_file rw_inherited_file_perms; +') + +######################################## +## <summary> ## Read dpkg package database content. ## </summary> ## <param name="domain"> diff --git a/policy/modules/contrib/dpkg.te b/policy/modules/contrib/dpkg.te index a91e4896..e781815d 100644 --- a/policy/modules/contrib/dpkg.te +++ b/policy/modules/contrib/dpkg.te @@ -1,4 +1,4 @@ -policy_module(dpkg, 1.11.6) +policy_module(dpkg, 1.11.7) ######################################## # @@ -42,6 +42,8 @@ role dpkg_roles types dpkg_script_t; type dpkg_script_tmp_t; files_tmp_file(dpkg_script_tmp_t) +# out of order to work around compiler issue +domain_entry_file(dpkg_script_t, dpkg_script_tmp_t) type dpkg_script_tmpfs_t; files_tmpfs_file(dpkg_script_tmpfs_t) @@ -69,6 +71,7 @@ allow dpkg_t self:msg { send receive }; allow dpkg_t dpkg_lock_t:file manage_file_perms; spec_domtrans_pattern(dpkg_t, dpkg_var_lib_t, dpkg_script_t) +spec_domtrans_pattern(dpkg_t, dpkg_script_tmp_t, dpkg_script_t) manage_dirs_pattern(dpkg_t, dpkg_tmp_t, dpkg_tmp_t) manage_files_pattern(dpkg_t, dpkg_tmp_t, dpkg_tmp_t) diff --git a/policy/modules/contrib/mta.te b/policy/modules/contrib/mta.te index 2baa07c9..caa21fb9 100644 --- a/policy/modules/contrib/mta.te +++ b/policy/modules/contrib/mta.te @@ -1,4 +1,4 @@ -policy_module(mta, 2.8.5) +policy_module(mta, 2.8.6) ######################################## # @@ -205,6 +205,11 @@ init_rw_stream_sockets(system_mail_t) userdom_use_user_terminals(system_mail_t) optional_policy(` + apt_use_fds(system_mail_t) + apt_use_ptys(system_mail_t) +') + +optional_policy(` apache_read_squirrelmail_data(system_mail_t) apache_append_squirrelmail_data(system_mail_t) apache_dontaudit_append_log(system_mail_t)