Avoid SELinux denials
... caused by: * Read access to /etc/passwd * Watching files inside /usr/libexec * Read access to /var/lib/flatpak https://bugzilla.redhat.com/show_bug.cgi?id=2053634 https://bugzilla.redhat.com/show_bug.cgi?id=2070350 https://bugzilla.redhat.com/show_bug.cgi?id=2070741
This commit is contained in:
		
							parent
							
								
									52deeed075
								
							
						
					
					
						commit
						b6e9962fa4
					
				
							
								
								
									
										105
									
								
								flatpak-selinux-permissions.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										105
									
								
								flatpak-selinux-permissions.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,105 @@
 | 
			
		||||
From b20c074fb225ed3e54337bd50dc18452a3dc3196 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Debarshi Ray <debarshir@gnome.org>
 | 
			
		||||
Date: Tue, 12 Apr 2022 20:28:29 +0200
 | 
			
		||||
Subject: [PATCH 1/3] selinux: Let the system helper have read access to
 | 
			
		||||
 /etc/passwd
 | 
			
		||||
 | 
			
		||||
The system-helper (ie., the `flatpak-system-helper` process) is
 | 
			
		||||
labelled with flatpak_helper_exec_t and runs in the flatpak_helper_t
 | 
			
		||||
domain, and needs to be able to read /etc/passwd.  This explicitly
 | 
			
		||||
permits it to do so to avoid running into SELinux denials.
 | 
			
		||||
 | 
			
		||||
https://bugzilla.redhat.com/show_bug.cgi?id=2070350
 | 
			
		||||
---
 | 
			
		||||
 selinux/flatpak.te | 2 ++
 | 
			
		||||
 1 file changed, 2 insertions(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/selinux/flatpak.te b/selinux/flatpak.te
 | 
			
		||||
index 2bcc507b725a..871ffa2906cc 100644
 | 
			
		||||
--- a/selinux/flatpak.te
 | 
			
		||||
+++ b/selinux/flatpak.te
 | 
			
		||||
@@ -12,6 +12,8 @@ type flatpak_helper_t;
 | 
			
		||||
 type flatpak_helper_exec_t;
 | 
			
		||||
 init_daemon_domain(flatpak_helper_t, flatpak_helper_exec_t)
 | 
			
		||||
 
 | 
			
		||||
+auth_read_passwd(flatpak_helper_t)
 | 
			
		||||
+
 | 
			
		||||
 optional_policy(`
 | 
			
		||||
     dbus_stub()
 | 
			
		||||
     dbus_system_domain(flatpak_helper_t, flatpak_helper_exec_t)
 | 
			
		||||
-- 
 | 
			
		||||
2.35.1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
From d6743d58bbd0293a4f6992fee9b5e7363892ebe7 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Debarshi Ray <debarshir@gnome.org>
 | 
			
		||||
Date: Tue, 12 Apr 2022 20:56:06 +0200
 | 
			
		||||
Subject: [PATCH 2/3] selinux: Let the system helper watch files inside
 | 
			
		||||
 $libexecdir
 | 
			
		||||
 | 
			
		||||
The system-helper (ie., the `flatpak-system-helper` process) is
 | 
			
		||||
labelled with flatpak_helper_exec_t and runs in the flatpak_helper_t
 | 
			
		||||
domain, and tries to set up an inotify(7) watch on it's own binary so
 | 
			
		||||
that it can exit when the binary is replaced.  This explicitly permits
 | 
			
		||||
it to do so to avoid running into SELinux denials.
 | 
			
		||||
 | 
			
		||||
The corecmd_watch_bin_dirs SELinux interface is a recent addition [1],
 | 
			
		||||
and is therefore used conditionally when defined.
 | 
			
		||||
 | 
			
		||||
[1] https://github.com/fedora-selinux/selinux-policy/commit/88072fd293
 | 
			
		||||
    https://github.com/fedora-selinux/selinux-policy/pull/1133
 | 
			
		||||
 | 
			
		||||
https://bugzilla.redhat.com/show_bug.cgi?id=2053634
 | 
			
		||||
---
 | 
			
		||||
 selinux/flatpak.te | 4 ++++
 | 
			
		||||
 1 file changed, 4 insertions(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/selinux/flatpak.te b/selinux/flatpak.te
 | 
			
		||||
index 871ffa2906cc..0bb776314ddb 100644
 | 
			
		||||
--- a/selinux/flatpak.te
 | 
			
		||||
+++ b/selinux/flatpak.te
 | 
			
		||||
@@ -14,6 +14,10 @@ init_daemon_domain(flatpak_helper_t, flatpak_helper_exec_t)
 | 
			
		||||
 
 | 
			
		||||
 auth_read_passwd(flatpak_helper_t)
 | 
			
		||||
 
 | 
			
		||||
+ifdef(`corecmd_watch_bin_dirs',`
 | 
			
		||||
+    corecmd_watch_bin_dirs(flatpak_helper_t)
 | 
			
		||||
+')
 | 
			
		||||
+
 | 
			
		||||
 optional_policy(`
 | 
			
		||||
     dbus_stub()
 | 
			
		||||
     dbus_system_domain(flatpak_helper_t, flatpak_helper_exec_t)
 | 
			
		||||
-- 
 | 
			
		||||
2.35.1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
From 04524cb3b79bb777d62f743b1fb4037816c6a3f2 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Debarshi Ray <debarshir@gnome.org>
 | 
			
		||||
Date: Tue, 12 Apr 2022 22:33:11 +0200
 | 
			
		||||
Subject: [PATCH 3/3] selinux: Permit read access to /var/lib/flatpak
 | 
			
		||||
 | 
			
		||||
It's clearly quite important to have read access to /var/lib/flatpak
 | 
			
		||||
and it's contents.  This explicitly permits that to avoid running
 | 
			
		||||
into SELinux denials.
 | 
			
		||||
 | 
			
		||||
https://bugzilla.redhat.com/show_bug.cgi?id=2070741
 | 
			
		||||
---
 | 
			
		||||
 selinux/flatpak.te | 2 ++
 | 
			
		||||
 1 file changed, 2 insertions(+)
 | 
			
		||||
 | 
			
		||||
diff --git a/selinux/flatpak.te b/selinux/flatpak.te
 | 
			
		||||
index 0bb776314ddb..e1fd4377373f 100644
 | 
			
		||||
--- a/selinux/flatpak.te
 | 
			
		||||
+++ b/selinux/flatpak.te
 | 
			
		||||
@@ -13,6 +13,8 @@ type flatpak_helper_exec_t;
 | 
			
		||||
 init_daemon_domain(flatpak_helper_t, flatpak_helper_exec_t)
 | 
			
		||||
 
 | 
			
		||||
 auth_read_passwd(flatpak_helper_t)
 | 
			
		||||
+files_list_var_lib(flatpak_helper_t)
 | 
			
		||||
+files_read_var_lib_files(flatpak_helper_t)
 | 
			
		||||
 
 | 
			
		||||
 ifdef(`corecmd_watch_bin_dirs',`
 | 
			
		||||
     corecmd_watch_bin_dirs(flatpak_helper_t)
 | 
			
		||||
-- 
 | 
			
		||||
2.35.1
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,7 @@
 | 
			
		||||
 | 
			
		||||
Name:           flatpak
 | 
			
		||||
Version:        1.13.2
 | 
			
		||||
Release:        1%{?dist}
 | 
			
		||||
Release:        2%{?dist}
 | 
			
		||||
Summary:        Application deployment framework for desktop apps
 | 
			
		||||
 | 
			
		||||
License:        LGPLv2+
 | 
			
		||||
@ -16,6 +16,8 @@ Source0:        https://github.com/flatpak/flatpak/releases/download/%{version}/
 | 
			
		||||
Source1:        flatpak-add-fedora-repos.service
 | 
			
		||||
%endif
 | 
			
		||||
 | 
			
		||||
Patch0:         flatpak-selinux-permissions.patch
 | 
			
		||||
 | 
			
		||||
BuildRequires:  pkgconfig(appstream) >= %{appstream_version}
 | 
			
		||||
BuildRequires:  pkgconfig(dconf)
 | 
			
		||||
BuildRequires:  pkgconfig(fuse)
 | 
			
		||||
@ -265,6 +267,10 @@ fi
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
%changelog
 | 
			
		||||
* Tue Apr 12 2022 Debarshi Ray <rishi@fedoraproject.org> - 1.13.2-2
 | 
			
		||||
- Avoid SELinux denials caused by read access to /etc/passwd, watching files
 | 
			
		||||
  inside /usr/libexec and read access to /var/lib/flatpak
 | 
			
		||||
 | 
			
		||||
* Thu Mar 17 2022 Debarshi Ray <rishi@fedoraproject.org> - 1.13.2-1
 | 
			
		||||
- Update to 1.13.2 (#2064038)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user