diff --git a/policy/global_tunables b/policy/global_tunables
index 4705ab618..affc020f1 100644
--- a/policy/global_tunables
+++ b/policy/global_tunables
@@ -111,3 +111,11 @@ gen_tunable(use_samba_home_dirs,false)
##
##
gen_tunable(user_tcp_server,false)
+
+##
+##
+## Allow users to run UDP servers (bind to ports and accept connection from
+## the same domain and outside users)
+##
+##
+gen_tunable(user_udp_server,false)
diff --git a/policy/modules/system/userdomain.if b/policy/modules/system/userdomain.if
index 4fde5d88d..6cb93b55c 100644
--- a/policy/modules/system/userdomain.if
+++ b/policy/modules/system/userdomain.if
@@ -1041,6 +1041,13 @@ template(`userdom_unpriv_user_template', `
corenet_tcp_bind_generic_port($1_t)
')
+ # Allow users to run UDP servers (bind to ports and accept connection from
+ # the same domain and outside users)
+ tunable_policy(`user_udp_server',`
+ corenet_udp_bind_generic_node($1_t)
+ corenet_udp_bind_generic_port($1_t)
+ ')
+
optional_policy(`
netutils_run_ping_cond($1_t, $1_r)
netutils_run_traceroute_cond($1_t, $1_r)