pam_faillock: change /run/faillock/$USER permissions to 0660
This commit is contained in:
parent
1478f27b55
commit
4f4f811ef5
|
@ -0,0 +1,50 @@
|
|||
From 395915dae1571e10e2766c999974de864655ea3a Mon Sep 17 00:00:00 2001
|
||||
From: ikerexxe <ipedrosa@redhat.com>
|
||||
Date: Mon, 15 Jun 2020 09:52:11 +0200
|
||||
Subject: [PATCH] pam_faillock: change /run/faillock/$USER permissions to 0660
|
||||
|
||||
Nowadays, /run/faillock/$USER files have user:root ownership and 0600
|
||||
permissions. This forces the process that writes to these files to have
|
||||
CAP_DAC_OVERRIDE capabilites. Just by changing the permissions to 0660
|
||||
the capability can be removed, which leads to a more secure system.
|
||||
|
||||
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1661822
|
||||
---
|
||||
modules/pam_faillock/faillock.c | 14 +++++++++++++-
|
||||
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/modules/pam_faillock/faillock.c b/modules/pam_faillock/faillock.c
|
||||
index e492f5f9..4ea94cbe 100644
|
||||
--- a/modules/pam_faillock/faillock.c
|
||||
+++ b/modules/pam_faillock/faillock.c
|
||||
@@ -76,7 +76,7 @@ open_tally (const char *dir, const char *user, uid_t uid, int create)
|
||||
flags |= O_CREAT;
|
||||
}
|
||||
|
||||
- fd = open(path, flags, 0600);
|
||||
+ fd = open(path, flags, 0660);
|
||||
|
||||
free(path);
|
||||
|
||||
@@ -88,6 +88,18 @@ open_tally (const char *dir, const char *user, uid_t uid, int create)
|
||||
if (st.st_uid != uid) {
|
||||
ignore_return(fchown(fd, uid, -1));
|
||||
}
|
||||
+
|
||||
+ /*
|
||||
+ * If umask is set to 022, as will probably in most systems, then the
|
||||
+ * group will not be able to write to the file. So, change the file
|
||||
+ * permissions just in case.
|
||||
+ * Note: owners of this file are user:root, so if the permissions are
|
||||
+ * not changed the root process writing to this file will require
|
||||
+ * CAP_DAC_OVERRIDE.
|
||||
+ */
|
||||
+ if (!(st.st_mode & S_IWGRP)) {
|
||||
+ ignore_return(fchmod(fd, 0660));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
9
pam.spec
9
pam.spec
|
@ -3,7 +3,7 @@
|
|||
Summary: An extensible library which provides authentication for applications
|
||||
Name: pam
|
||||
Version: 1.3.1
|
||||
Release: 24%{?dist}
|
||||
Release: 25%{?dist}
|
||||
# The library is BSD licensed with option to relicense as GPLv2+
|
||||
# - this option is redundant as the BSD license allows that anyway.
|
||||
# pam_timestamp, pam_loginuid, and pam_console modules are GPLv2+.
|
||||
|
@ -60,7 +60,10 @@ Patch48: pam-1.3.1-unix-improve-logging.patch
|
|||
Patch49: pam-1.3.1-tty-audit-manfix.patch
|
||||
Patch50: pam-1.3.1-fds-closing.patch
|
||||
Patch51: pam-1.3.1-authtok-verify-fix.patch
|
||||
# Upstreamed
|
||||
Patch52: pam-1.3.1-determinine-user-exists.patch
|
||||
# Upstreamed
|
||||
Patch53: pam-1.3.1-faillock-change-file-permissions.patch
|
||||
|
||||
%global _pamlibdir %{_libdir}
|
||||
%global _moduledir %{_libdir}/security
|
||||
|
@ -152,6 +155,7 @@ cp %{SOURCE18} .
|
|||
%patch50 -p1 -b .fds-closing
|
||||
%patch51 -p1 -b .authtok-verify-fix
|
||||
%patch52 -p1 -b .determinine-user-exists
|
||||
%patch53 -p1 -b .faillock-change-file-permissions
|
||||
|
||||
autoreconf -i
|
||||
|
||||
|
@ -401,6 +405,9 @@ done
|
|||
%doc doc/specs/rfc86.0.txt
|
||||
|
||||
%changelog
|
||||
* Fri Jul 10 2020 Iker Pedrosa <ipedrosa@redhat.com> - 1.3.1-25
|
||||
- pam_faillock: change /run/faillock/$USER permissions to 0660 (#1661822)
|
||||
|
||||
* Wed Jun 24 2020 Iker Pedrosa <ipedrosa@redhat.com> - 1.3.1-24
|
||||
- pam_unix and pam_usertype: avoid determining if user exists (#1629598)
|
||||
|
||||
|
|
Loading…
Reference in New Issue