2022-02-02 20:31:18

by Stefan Berger

[permalink] [raw]
Subject: [PATCH v10 13/27] ima: Only accept AUDIT rules for non-init_ima_ns namespaces for now

Only accept AUDIT rules for non-init_ima_ns namespaces rejecting all rules
that require support for measuring, appraisal, and hashing.

Signed-off-by: Stefan Berger <[email protected]>
Acked-by: Christian Brauner <[email protected]>

---
v9:
- Jump to err_audit when unsupported rules are detected
---
security/integrity/ima/ima_policy.c | 12 ++++++++++++
1 file changed, 12 insertions(+)

diff --git a/security/integrity/ima/ima_policy.c b/security/integrity/ima/ima_policy.c
index 148ff5a98a8e..2dcc5a8c585a 100644
--- a/security/integrity/ima/ima_policy.c
+++ b/security/integrity/ima/ima_policy.c
@@ -1796,6 +1796,17 @@ static int ima_parse_rule(struct ima_namespace *ns,
result = -EINVAL;
break;
}
+
+ /* IMA namespace only accepts AUDIT rules */
+ if (ns != &init_ima_ns && result == 0) {
+ switch (entry->action) {
+ case MEASURE:
+ case APPRAISE:
+ case HASH:
+ result = -EINVAL;
+ goto err_audit;
+ }
+ }
}
if (!result && !ima_validate_rule(entry))
result = -EINVAL;
@@ -1808,6 +1819,7 @@ static int ima_parse_rule(struct ima_namespace *ns,
check_template_modsig(template_desc);
}

+err_audit:
audit_log_format(ab, "res=%d", !result);
audit_log_end(ab);
return result;
--
2.31.1


2022-02-17 23:12:11

by Mimi Zohar

[permalink] [raw]
Subject: Re: [PATCH v10 13/27] ima: Only accept AUDIT rules for non-init_ima_ns namespaces for now

On Tue, 2022-02-01 at 15:37 -0500, Stefan Berger wrote:

> Only accept AUDIT rules for non-init_ima_ns namespaces rejecting all rules
> that require support for measuring, appraisal, and hashing.

It's probably obvious, but adding the words "for now" somewhere in the
above line makes it clear this is temporary.

>
> Signed-off-by: Stefan Berger <[email protected]>
> Acked-by: Christian Brauner <[email protected]>

Reviewed-by: Mimi Zohar <[email protected]>

--
thanks,

Mimi