Previously, when seccomp configuration file for a service was not
found, the service was started without seccomp. I consider this
potential attack vector.

With this change, procd starts the service as if the configuration
existed but the service fails in libpreload-seccomp.so, because the
configuration cannot be loaded. This is announced in the syslog.

Signed-off-by: Michal Sojka <sojk...@fel.cvut.cz>
---
 service/instance.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/service/instance.c b/service/instance.c
index bb766ea..dc7e3ca 100644
--- a/service/instance.c
+++ b/service/instance.c
@@ -873,15 +873,8 @@ instance_config_parse(struct service_instance *in)
        if (tb[INSTANCE_ATTR_NO_NEW_PRIVS])
                in->no_new_privs = 
blobmsg_get_bool(tb[INSTANCE_ATTR_NO_NEW_PRIVS]);
 
-       if (!in->trace && tb[INSTANCE_ATTR_SECCOMP]) {
-               char *seccomp = blobmsg_get_string(tb[INSTANCE_ATTR_SECCOMP]);
-               struct stat s;
-
-               if (stat(seccomp, &s))
-                       ERROR("%s: not starting seccomp as %s is missing\n", 
in->name, seccomp);
-               else
-                       in->seccomp = seccomp;
-       }
+       if (!in->trace && tb[INSTANCE_ATTR_SECCOMP])
+               in->seccomp = blobmsg_get_string(tb[INSTANCE_ATTR_SECCOMP]);
 
        if (tb[INSTANCE_ATTR_PIDFILE]) {
                char *pidfile = blobmsg_get_string(tb[INSTANCE_ATTR_PIDFILE]);
-- 
2.14.1


_______________________________________________
Lede-dev mailing list
Lede-dev@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/lede-dev

Reply via email to