mirror of
https://github.com/systemd/systemd.git
synced 2024-11-07 18:27:04 +03:00
audit-fd: check for CAP_AUDIT_WRITE before opening an audit socket
Adds a check to audit-fd.c to ensure that CAP_AUDIT_WRITE is present in the set of effective capabilities before opening an audit netlink socket. This ensures that unprivileged systemd instances (MANAGER_USER) don't try to log AVC permission checks with the audit subsystem when CAP_AUDIT_WRITE is not present.
This commit is contained in:
parent
6d395665e5
commit
b3fb3c01ee
@ -27,6 +27,7 @@
|
||||
#include <libaudit.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "capability-util.h"
|
||||
#include "fd-util.h"
|
||||
#include "log.h"
|
||||
#include "util.h"
|
||||
@ -37,6 +38,13 @@ static int audit_fd;
|
||||
int get_audit_fd(void) {
|
||||
|
||||
if (!initialized) {
|
||||
if (have_effective_cap(CAP_AUDIT_WRITE) == 0) {
|
||||
audit_fd = -EPERM;
|
||||
initialized = true;
|
||||
|
||||
return audit_fd;
|
||||
}
|
||||
|
||||
audit_fd = audit_open();
|
||||
|
||||
if (audit_fd < 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user