diff options
| -rw-r--r-- | recipes-security/refpolicy/refpolicy/0061-policy-modules-system-locallogin-allow-local_login_t.patch | 149 | ||||
| -rw-r--r-- | recipes-security/refpolicy/refpolicy_common.inc | 1 |
2 files changed, 150 insertions, 0 deletions
diff --git a/recipes-security/refpolicy/refpolicy/0061-policy-modules-system-locallogin-allow-local_login_t.patch b/recipes-security/refpolicy/refpolicy/0061-policy-modules-system-locallogin-allow-local_login_t.patch new file mode 100644 index 0000000..d5a63bb --- /dev/null +++ b/recipes-security/refpolicy/refpolicy/0061-policy-modules-system-locallogin-allow-local_login_t.patch | |||
| @@ -0,0 +1,149 @@ | |||
| 1 | From 9cee0ec6ec9bb0af826f0f2af88e36159429e1e7 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Clayton Casciato <ccasciato@21sw.us> | ||
| 3 | Date: Thu, 15 Jan 2026 16:27:43 -0700 | ||
| 4 | Subject: [PATCH] locallogin: allow local_login_t lastlog_t create,delete | ||
| 5 | |||
| 6 | Note that the { read } AVC denial was not addressed. | ||
| 7 | |||
| 8 | It is currently unknown what specifically triggers this and Fedora | ||
| 9 | policy does not appear to allow this. | ||
| 10 | |||
| 11 | -- | ||
| 12 | |||
| 13 | Fedora: | ||
| 14 | |||
| 15 | https://github.com/fedora-selinux/selinux-policy/commit/fe29879463b7176dab24c0a9210131fa6e7cd130 | ||
| 16 | "Allow systemd (PID 1) create lastlog entries" | ||
| 17 | |||
| 18 | -- | ||
| 19 | |||
| 20 | pam_lastlog2(login:session): Cannot open database | ||
| 21 | (/var/lib/lastlog/lastlog2.db): unable to open database file | ||
| 22 | |||
| 23 | PROCTITLE proctitle=2F62696E2F6C6F67696E002D70002D2D00726F6F74 | ||
| 24 | |||
| 25 | AVC avc: denied { getattr } for pid=244 comm="login" | ||
| 26 | path="/var/lib/lastlog" dev="vda" ino=32776 | ||
| 27 | scontext=system_u:system_r:local_login_t:s0 | ||
| 28 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 29 | |||
| 30 | SYSCALL arch=c00000b7 syscall=79 success=yes exit=0 a0=ffffffffffffff9c | ||
| 31 | a1=55557ab4db98 a2=7ffff6dd39c0 a3=100 items=0 ppid=1 pid=244 | ||
| 32 | auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 | ||
| 33 | tty=ttyAMA0 ses=4294967295 comm="login" exe="/usr/bin/login.shadow" | ||
| 34 | subj=system_u:system_r:local_login_t:s0 key=(null) | ||
| 35 | |||
| 36 | -- | ||
| 37 | |||
| 38 | PROCTITLE proctitle=2F62696E2F6C6F67696E002D70002D2D00726F6F74 | ||
| 39 | |||
| 40 | AVC avc: denied { search } for pid=244 comm="login" name="lastlog" | ||
| 41 | dev="vda" ino=32776 scontext=system_u:system_r:local_login_t:s0 | ||
| 42 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 43 | |||
| 44 | SYSCALL arch=c00000b7 syscall=79 success=no exit=-2 a0=ffffffffffffff9c | ||
| 45 | a1=55557ab4db98 a2=7ffff6dd39c0 a3=100 items=0 ppid=1 pid=244 | ||
| 46 | auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 | ||
| 47 | tty=ttyAMA0 ses=4294967295 comm="login" exe="/usr/bin/login.shadow" | ||
| 48 | subj=system_u:system_r:local_login_t:s0 key=(null) | ||
| 49 | |||
| 50 | -- | ||
| 51 | |||
| 52 | PROCTITLE proctitle=2F62696E2F6C6F67696E002D70002D2D00726F6F74 | ||
| 53 | |||
| 54 | AVC avc: denied { write } for pid=244 comm="login" name="lastlog" | ||
| 55 | dev="vda" ino=32776 scontext=system_u:system_r:local_login_t:s0 | ||
| 56 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 57 | |||
| 58 | AVC avc: denied { add_name } for pid=244 comm="login" | ||
| 59 | name="lastlog2.db" scontext=system_u:system_r:local_login_t:s0 | ||
| 60 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 61 | |||
| 62 | AVC avc: denied { create } for pid=244 comm="login" | ||
| 63 | name="lastlog2.db" scontext=system_u:system_r:local_login_t:s0 | ||
| 64 | tcontext=system_u:object_r:lastlog_t:s0 tclass=file permissive=1 | ||
| 65 | |||
| 66 | SYSCALL arch=c00000b7 syscall=56 success=yes exit=4 a0=ffffffffffffff9c | ||
| 67 | a1=55557ab4e2b4 a2=88042 a3=1a4 items=4 ppid=1 pid=244 auid=4294967295 | ||
| 68 | uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttyAMA0 | ||
| 69 | ses=4294967295 comm="login" exe="/usr/bin/login.shadow" | ||
| 70 | subj=system_u:system_r:local_login_t:s0 key=(null) | ||
| 71 | |||
| 72 | CWD cwd="/" | ||
| 73 | |||
| 74 | PATH item=0 name=(null) inode=32776 dev=fe:00 mode=040755 ouid=0 ogid=0 | ||
| 75 | rdev=00:00 obj=system_u:object_r:lastlog_t:s0 nametype=PARENT cap_fp=0 | ||
| 76 | cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 | ||
| 77 | |||
| 78 | PATH item=1 name=(null) nametype=CREATE cap_fp=0 cap_fi=0 cap_fe=0 | ||
| 79 | cap_fver=0 cap_frootid=0 | ||
| 80 | |||
| 81 | PATH item=2 name=(null) inode=32776 dev=fe:00 mode=040755 ouid=0 ogid=0 | ||
| 82 | rdev=00:00 obj=system_u:object_r:lastlog_t:s0 nametype=PARENT cap_fp=0 | ||
| 83 | cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 | ||
| 84 | |||
| 85 | PATH item=3 name=(null) inode=32867 dev=fe:00 mode=0100644 ouid=0 ogid=0 | ||
| 86 | rdev=00:00 obj=system_u:object_r:lastlog_t:s0 nametype=CREATE cap_fp=0 | ||
| 87 | cap_fi=0 cap_fe=0 cap_fver=0 cap_frootid=0 | ||
| 88 | |||
| 89 | -- | ||
| 90 | |||
| 91 | PROCTITLE proctitle=2F62696E2F6C6F67696E002D70002D2D00726F6F74 | ||
| 92 | |||
| 93 | AVC avc: denied { read } for pid=244 comm="login" name="lastlog" | ||
| 94 | dev="vda" ino=32776 scontext=system_u:system_r:local_login_t:s0 | ||
| 95 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 96 | |||
| 97 | AVC avc: denied { open } for pid=244 comm="login" | ||
| 98 | path="/var/lib/lastlog" dev="vda" ino=32776 | ||
| 99 | scontext=system_u:system_r:local_login_t:s0 | ||
| 100 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 101 | |||
| 102 | SYSCALL arch=c00000b7 syscall=56 success=yes exit=6 a0=ffffffffffffff9c | ||
| 103 | a1=7ffff6dd5740 a2=80000 a3=0 items=0 ppid=1 pid=244 auid=4294967295 | ||
| 104 | uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttyAMA0 | ||
| 105 | ses=4294967295 comm="login" exe="/usr/bin/login.shadow" | ||
| 106 | subj=system_u:system_r:local_login_t:s0 key=(null) | ||
| 107 | |||
| 108 | -- | ||
| 109 | |||
| 110 | PROCTITLE proctitle=2F62696E2F6C6F67696E002D70002D2D00726F6F74 | ||
| 111 | |||
| 112 | AVC avc: denied { remove_name } for pid=244 comm="login" | ||
| 113 | name="lastlog2.db-journal" dev="vda" ino=32868 | ||
| 114 | scontext=system_u:system_r:local_login_t:s0 | ||
| 115 | tcontext=system_u:object_r:lastlog_t:s0 tclass=dir permissive=1 | ||
| 116 | |||
| 117 | AVC avc: denied { unlink } for pid=244 comm="login" | ||
| 118 | name="lastlog2.db-journal" dev="vda" ino=32868 | ||
| 119 | scontext=system_u:system_r:local_login_t:s0 | ||
| 120 | tcontext=system_u:object_r:lastlog_t:s0 tclass=file permissive=1 | ||
| 121 | |||
| 122 | SYSCALL arch=c00000b7 syscall=35 success=yes exit=0 a0=ffffffffffffff9c | ||
| 123 | a1=55557ab4e2d2 a2=0 a3=7fff4a1abb68 items=0 ppid=1 pid=244 | ||
| 124 | auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 | ||
| 125 | tty=ttyAMA0 ses=4294967295 comm="login" exe="/usr/bin/login.shadow" | ||
| 126 | subj=system_u:system_r:local_login_t:s0 key=(null) | ||
| 127 | |||
| 128 | Signed-off-by: Clayton Casciato <ccasciato@21sw.us> | ||
| 129 | |||
| 130 | Upstream-Status: Backport [https://github.com/SELinuxProject/refpolicy/commit/93a6a53391f13d13a1d7e84872ccc227b5c550ec] | ||
| 131 | |||
| 132 | Signed-off-by: Clayton Casciato <majortomtosourcecontrol@gmail.com> | ||
| 133 | --- | ||
| 134 | policy/modules/system/locallogin.te | 2 ++ | ||
| 135 | 1 file changed, 2 insertions(+) | ||
| 136 | |||
| 137 | diff --git a/policy/modules/system/locallogin.te b/policy/modules/system/locallogin.te | ||
| 138 | index 75ee52efd..5840ad5a9 100644 | ||
| 139 | --- a/policy/modules/system/locallogin.te | ||
| 140 | +++ b/policy/modules/system/locallogin.te | ||
| 141 | @@ -122,6 +122,8 @@ term_relabel_all_ttys(local_login_t) | ||
| 142 | term_setattr_all_ttys(local_login_t) | ||
| 143 | term_setattr_unallocated_ttys(local_login_t) | ||
| 144 | |||
| 145 | +auth_create_lastlog(local_login_t) | ||
| 146 | +auth_delete_lastlog(local_login_t) | ||
| 147 | auth_rw_login_records(local_login_t) | ||
| 148 | auth_rw_faillog(local_login_t) | ||
| 149 | auth_manage_pam_runtime_dirs(local_login_t) | ||
diff --git a/recipes-security/refpolicy/refpolicy_common.inc b/recipes-security/refpolicy/refpolicy_common.inc index b69cc31..3af37c5 100644 --- a/recipes-security/refpolicy/refpolicy_common.inc +++ b/recipes-security/refpolicy/refpolicy_common.inc | |||
| @@ -76,6 +76,7 @@ SRC_URI += " \ | |||
| 76 | file://0058-policy-modules-system-logging-allow-miscfiles_read_g.patch \ | 76 | file://0058-policy-modules-system-logging-allow-miscfiles_read_g.patch \ |
| 77 | file://0059-policy-modules-system-authlogin-label-var_lib_lastlo.patch \ | 77 | file://0059-policy-modules-system-authlogin-label-var_lib_lastlo.patch \ |
| 78 | file://0060-policy-modules-system-authlogin-add-auth_create_last.patch \ | 78 | file://0060-policy-modules-system-authlogin-add-auth_create_last.patch \ |
| 79 | file://0061-policy-modules-system-locallogin-allow-local_login_t.patch \ | ||
| 79 | " | 80 | " |
| 80 | 81 | ||
| 81 | S = "${UNPACKDIR}/refpolicy" | 82 | S = "${UNPACKDIR}/refpolicy" |
