commit:     2343ec0c4f4e7d09495b7f7304246c7522f644fa
Author:     Chris PeBenito <cpebenito <AT> tresys <DOT> com>
AuthorDate: Tue Mar 22 19:43:30 2016 +0000
Commit:     Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Wed Mar 23 17:53:49 2016 +0000
URL:        
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=2343ec0c

Reduce broad entrypoints for unconfined domains.

Entrypoints into unconfined domains, like with confined domains, should be
tightly controlled to make arbitrary code execution more difficult.

 policy/modules/kernel/files.te  |  4 ++--
 policy/modules/kernel/kernel.te | 12 ++++++++----
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/policy/modules/kernel/files.te b/policy/modules/kernel/files.te
index 7a0e0f2..3ad8cd8 100644
--- a/policy/modules/kernel/files.te
+++ b/policy/modules/kernel/files.te
@@ -1,4 +1,4 @@
-policy_module(files, 1.21.0)
+policy_module(files, 1.21.1)
 
 ########################################
 #
@@ -212,7 +212,7 @@ fs_associate_tmpfs(tmpfsfile)
 #
 
 # Create/access any file in a labeled filesystem;
-allow files_unconfined_type file_type:{ file chr_file } ~execmod;
+allow files_unconfined_type file_type:{ file chr_file } ~{ entrypoint execmod 
};
 allow files_unconfined_type file_type:{ dir lnk_file sock_file fifo_file 
blk_file } *;
 
 # Mount/unmount any filesystem with the context= option.

diff --git a/policy/modules/kernel/kernel.te b/policy/modules/kernel/kernel.te
index 798dbb5..6467aed 100644
--- a/policy/modules/kernel/kernel.te
+++ b/policy/modules/kernel/kernel.te
@@ -1,4 +1,4 @@
-policy_module(kernel, 1.20.3)
+policy_module(kernel, 1.20.4)
 
 ########################################
 #
@@ -175,6 +175,7 @@ files_mountpoint(unlabeled_t)
 fs_associate(unlabeled_t)
 sid file gen_context(system_u:object_r:unlabeled_t,s0)
 sid unlabeled gen_context(system_u:object_r:unlabeled_t,mls_systemhigh)
+neverallow * unlabeled_t:file entrypoint;
 
 # These initial sids are no longer used, and can be removed:
 sid any_socket         
gen_context(system_u:object_r:unlabeled_t,mls_systemhigh)
@@ -439,13 +440,16 @@ if( ! secure_mode_insmod ) {
 # Rules for unconfined acccess to this module
 #
 
-allow kern_unconfined proc_type:{ dir file lnk_file } *;
+allow kern_unconfined proc_type:{ dir lnk_file } *;
+allow kern_unconfined proc_type:file ~{ execmod entrypoint };
 
-allow kern_unconfined sysctl_type:{ dir file } *;
+allow kern_unconfined sysctl_type:dir *;
+allow kern_unconfined sysctl_type:file ~{ execmod entrypoint };
 
 allow kern_unconfined kernel_t:system *;
 
-allow kern_unconfined unlabeled_t:dir_file_class_set *;
+allow kern_unconfined unlabeled_t:{ file chr_file } ~{ entrypoint execmod };
+allow kern_unconfined unlabeled_t:{ dir lnk_file sock_file fifo_file blk_file 
} *;
 allow kern_unconfined unlabeled_t:filesystem *;
 allow kern_unconfined unlabeled_t:association *;
 allow kern_unconfined unlabeled_t:packet *;

Reply via email to