Open gordonwwang opened 6 months ago
Is there anyone who can handle this problem? Because this affects rawhide/fc40/fc39, etc., all the fedora images I downloaded. I had to set SELinux to permissive/disable, which was not a long-term solution.
All I care about is whether you can fix the problem. It doesn't matter whether my commits are accepted or not
@zpytela Could fedora consider fixing this issue? I don't want to disable SELinux in fedora 40
When systemctl start speech-dispatcherd.service, the following AVC denial occurs:
1. speech-dispatcher working directory changes, causing AVC rejection.
Ten years ago, the commit 38d0c7f defined the working directory as
~/.speech-dispatcher
. According to the latest speech-dispatcher doc, the latest working directory is~/.cache/speech-dispatcher
.So I think this needs to be corrected. Specific modifications are as follows:
~/.cache/speech-dispatcher
~/.cache/speech-dispatcher
must be properly labeled, not cache_home_tAfter repairing the above denials, move on. A new permission issue occurs:
2. bash command, tcp port connection, and speech dispatcher-modules access are denied.
The audit.log is as follows:
2.1 Running bash
speech-dispatcher tries the following call to execve:
Therefore, shell_exec_t needs to be allowed
2.2 Connecting tcp Ports
The speech-dispatcher service attempted to connect to target port 59125, but was denied by the SELinux policy. Therefore, you need to grant the speech-dispatcher permission to access the port. But I see the following statements in speech-dispatcher.te: :
corenet_tcp_connect_pdps_port(speech_dispatcher_t)
. I'm not sure whether you recommend pdps_port for speech_dispatcher.Therefore, I have some doubts about this modification, so I can modify it according to the discussion with you.
2.3 Run files in speech-dispatcher-modules
Speech-dispatcher-modules is Speech-Dispatcher's own module file that provides support for a variety of speech synthesizers. speech-dispatcher-modules are defined as lib_t, and it might not be friendly to
allow speech_dispatcher_t lib_t ...
as a policy. Therefore, I think it is possible to definespeech-dispatcher-modules
asspeech_dispatcher_modules_t
in order to minimize permissions.If you have different opinions about the type names here, we can discuss them.
3. Look forward to discussion
This is the SELinux rejection I found when using speech-dispatcherd.service. I have verified the feasibility of these fixes on my computer. For specific fixes, please refer to this PR: https://github.com/fedora-selinux/selinux-policy/pull/2101
I am a developer who is very interested in selinux, so I look forward to discussing with maintainer whether these selinux-policy fixes are feasible. @zpytela