-
Notifications
You must be signed in to change notification settings - Fork 167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
speech-dispatcherd.service startup failure (AVC denied) on all fedora #2100
Comments
systemctl start speech-dispatcherd.service, the following AVC denial occurs: 240:type=AVC msg=audit(1714149641.308:1054): avc: denied { execute } for pid=6921 comm=speech-dispatch name=bash dev=dm-0 ino=16782846 scontext=system_u:system_r:speech_dispatcher_t:s0 tcontext=system_u:object_r:shell_exec_t:s0 tclass=file permissive=0 241:type=AVC msg=audit(1714149641.308:1055): avc: denied { name_connect } for pid=6909 comm=speech-dispatch dest=59125 scontext=system_u:system_r:speech_dispatcher_t:s0 tcontext=system_u:object_r:ephemeral_port_t:s0 tclass=tcp_socket permissive=0 244:type=AVC msg=audit(1714149641.313:1058): avc: denied { execute_no_trans } for pid=6924 comm=speech-dispatch path=/usr/lib64/speech-dispatcher-modules/sd_cicero dev=dm-0 ino=34460340 scontext=system_u:system_r:speech_dispatcher_t:s0 tcontext=system_u:object_r:lib_t:s0 tclass=file permissive=0 Related discussion: fedora-selinux#2100 Signed-off-by: gordonwwang <[email protected]>
Is there anyone who can handle this problem? All I care about is whether you can fix the problem. It doesn't matter whether my commits are accepted or not |
@zpytela |
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 define
speech-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: #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
The text was updated successfully, but these errors were encountered: