commit: 2c2c9b394efb09bf61c6bd82d470d76d3e8d30b4
Author: Kenton Groombridge <me <AT> concord <DOT> sh>
AuthorDate: Fri Mar 11 05:07:56 2022 +0000
Commit: Jason Zaman <perfinion <AT> gentoo <DOT> org>
CommitDate: Sat Apr 9 19:28:30 2022 +0000
URL:
https://gitweb.gentoo.org/proj/hardened-refpolicy.git/commit/?id=2c2c9b39
container, podman: allow podman to create and write config files
Podman 4.0 now creates the CNI network config files if they do not
exist.
Signed-off-by: Kenton Groombridge <me <AT> concord.sh>
Signed-off-by: Jason Zaman <perfinion <AT> gentoo.org>
policy/modules/services/container.if | 38 ++++++++++++++++++++++++++++++++++++
policy/modules/services/podman.te | 4 ++++
2 files changed, 42 insertions(+)
diff --git a/policy/modules/services/container.if
b/policy/modules/services/container.if
index e9217f63..bf5ecfb5 100644
--- a/policy/modules/services/container.if
+++ b/policy/modules/services/container.if
@@ -738,6 +738,44 @@ interface(`container_mountpoint',`
typeattribute $1 container_mountpoint_type;
')
+########################################
+## <summary>
+## Allow the specified domain to
+## create container config files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`container_create_config_files',`
+ gen_require(`
+ type container_config_t;
+ ')
+
+ create_files_pattern($1, container_config_t, container_config_t)
+')
+
+########################################
+## <summary>
+## Allow the specified domain to
+## write container config files.
+## </summary>
+## <param name="domain">
+## <summary>
+## Domain allowed access.
+## </summary>
+## </param>
+#
+interface(`container_write_config_files',`
+ gen_require(`
+ type container_config_t;
+ ')
+
+ write_files_pattern($1, container_config_t, container_config_t)
+')
+
########################################
## <summary>
## Allow the specified domain to
diff --git a/policy/modules/services/podman.te
b/policy/modules/services/podman.te
index dfb8e5da..5df45d32 100644
--- a/policy/modules/services/podman.te
+++ b/policy/modules/services/podman.te
@@ -39,6 +39,10 @@ allow podman_t podman_conmon_t:unix_stream_socket {
connectto rw_stream_socket_p
container_engine_executable_entrypoint(podman_t)
+# podman 4.0.0 now creates OCI networking configs
+container_create_config_files(podman_t)
+container_write_config_files(podman_t)
+
domtrans_pattern(podman_t, podman_conmon_exec_t, podman_conmon_t)
logging_send_syslog_msg(podman_t)