commit:     08fff4870eab9cec72d17019d21d832176fd5905
Author:     David Sugar <dsugar <AT> tresys <DOT> com>
AuthorDate: Thu Oct 12 16:16:17 2017 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sun Oct 29 12:59:08 2017 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=08fff487

Denial relabeling /run/systemd/private

I am seeing the following denial (in dmesg) during system startup:
[    4.623332] type=1400 audit(1507767947.042:3): avc:  denied  { relabelto } 
for  pid=1 comm="systemd" name="private" dev="tmpfs" ino=5865 
scontext=system_u:system_r:init_t:s0 
tcontext=system_u:object_r:init_var_run_t:s0 tclass=sock_file

It appears that systemd is attempting to relablel the socket file 
/run/systemd/private to init_var_run_t but doesn't have permission.

Updated to create new interface for relabeling of sock_files rather than adding 
to existing interface

Signed-off-by: Dave Sugar <dsugar <AT> tresys.com>

 policy/modules/kernel/files.if | 19 +++++++++++++++++++
 policy/modules/system/init.te  |  1 +
 2 files changed, 20 insertions(+)

diff --git a/policy/modules/kernel/files.if b/policy/modules/kernel/files.if
index 12a1210c..ec2c8999 100644
--- a/policy/modules/kernel/files.if
+++ b/policy/modules/kernel/files.if
@@ -6741,6 +6741,25 @@ interface(`files_relabel_all_pid_dirs',`
 
 ########################################
 ## <summary>
+##     Relabel to/from all var_run (pid) socket files
+## </summary>
+## <param name="domain">
+##     <summary>
+##     Domain alloed access.
+##     </summary>
+## </param>
+#
+interface(`files_relabel_all_pid_sock_files',`
+       gen_require(`
+               attribute pidfile;
+       ')
+
+       relabel_sock_files_pattern($1, pidfile, pidfile)
+')
+
+
+########################################
+## <summary>
 ##     Relabel to/from all var_run (pid) files and directories
 ## </summary>
 ## <param name="domain">

diff --git a/policy/modules/system/init.te b/policy/modules/system/init.te
index 75da7a62..350554d3 100644
--- a/policy/modules/system/init.te
+++ b/policy/modules/system/init.te
@@ -320,6 +320,7 @@ ifdef(`init_systemd',`
        files_mounton_root(init_t)
        files_search_pids(init_t)
        files_relabel_all_pids(init_t)
+       files_relabel_all_pid_sock_files(init_t)
        files_relabelto_etc_runtime_dirs(init_t)
        files_relabelto_etc_runtime_files(init_t)
        files_read_all_locks(init_t)

Reply via email to