When no audit rules are in place, AUDIT_ANOM_{LINK,CREAT} events
reported in audit_log_path_denied() are unconditionally dropped due to
an explicit check for the existence of any audit rules.  Given this is a
report of a security violation, allow it to be recorded regardless of
the existence of any audit rules.

To test,
        mkdir -p /root/tmp
        chmod 1777 /root/tmp
        touch /root/tmp/test.txt
        useradd test
        chown test /root/tmp/test.txt
        {echo C0644 12 test.txt; printf 'hello\ntest1\n'; printf \\000;} | \
                scp -t /root/tmp
Check with
        ausearch -m ANOM_CREAT -ts recent

Link: https://issues.redhat.com/browse/RHEL-9065
Signed-off-by: Richard Guy Briggs <r...@redhat.com>
---
 kernel/audit.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/kernel/audit.c b/kernel/audit.c
index 53e3bddcc327..0cf2827882fc 100644
--- a/kernel/audit.c
+++ b/kernel/audit.c
@@ -2285,7 +2285,7 @@ void audit_log_path_denied(int type, const char 
*operation)
 {
        struct audit_buffer *ab;
 
-       if (!audit_enabled || audit_dummy_context())
+       if (!audit_enabled)
                return;
 
        /* Generate log with subject, operation, outcome. */
-- 
2.43.5


Reply via email to