Repeated selinux security alerts on dev="proc" + other selinux errors in logs (including setroubleshoot/audit_data.py error?) -> F42 with public facing web site (LAMP) with a Nextcloud server

I’m now trying to eliminate the hypothesis that this admin is created on-the-fly (with the located admin replaced by nimda).

The errors stop following

systemctl stop php-fpm

but of course, that breaks/stops Nextcloud.
Things get a little more complicated if I just stop Nextcould (by putting it into maintenance mode). I still get errors (at least for a while). I think because some of the background processes, launched by cron.php continue to run. I’ve gone through various trials to try and eliminate or confirm Nextcloud, cron.php, and related, but I’m not getting irrefutable evidence.

In the reverse order, things are clearer.

  1. start php-fpm
  2. resume Nextcloud (take out of maintenance mode
  3. resume cron.php

No errors following 1 and 2, (even waiting 10 minutes).
Following 3, I get

  May 17 21:10:40 vericalm audit[701712]: AVC avc:  denied  { search } for  pid=701712 comm="admin" name="13419" dev="proc" ino=67936 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=dir permissive=1
  May 17 21:10:40 vericalm audit[701712]: AVC avc:  denied  { read } for  pid=701712 comm="admin" name="comm" dev="proc" ino=67983 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=file permissive=1
  May 17 21:10:40 vericalm audit[701712]: AVC avc:  denied  { open } for  pid=701712 comm="admin" path="/proc/13419/comm" dev="proc" ino=67983 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=file permissive=1
  May 17 21:10:40 vericalm audit[701712]: AVC avc:  denied  { getattr } for  pid=701712 comm="admin" path="/proc/13419/comm" dev="proc" ino=67983 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=file permissive=1
  May 17 21:10:40 vericalm audit[701712]: AVC avc:  denied  { search } for  pid=701712 comm="admin" name="13419" dev="proc" ino=67936 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=dir permissive=1
  May 17 21:10:42 vericalm systemd[1]: Starting setroubleshootd.service - SETroubleshoot daemon for processing new SELinux denial logs...
  May 17 21:10:43 vericalm systemd[1]: Started setroubleshootd.service - SETroubleshoot daemon for processing new SELinux denial logs.
  May 17 21:10:43 vericalm audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=setroubleshootd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
  May 17 21:10:43 vericalm setroubleshootd[701785]: libsepol.context_from_record: invalid security context: "unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023"
  May 17 21:10:43 vericalm setroubleshootd[701785]: libsepol.context_from_record: could not create context structure
  May 17 21:10:43 vericalm setroubleshootd[701785]: libsepol.context_from_string: could not create context structure
  May 17 21:10:43 vericalm setroubleshootd[701785]: libsepol.sepol_context_to_sid: could not convert unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 to sid
  May 17 21:10:43 vericalm setroubleshoot[701785]: Unable to process audit event: cannot access local variable 'syslog' where it is not associated with a value
  May 17 21:10:43 vericalm setroubleshoot[701785]: Traceback (most recent call last):
  May 17 21:10:43 vericalm setroubleshoot[701785]:  File "/usr/lib/python3.13/site-packages/setroubleshoot/audit_data.py", line 1106, in compute_avcs
  May 17 21:10:43 vericalm setroubleshoot[701785]:    avcs.append(AVC(audit_event, record))
  May 17 21:10:43 vericalm setroubleshoot[701785]:                ~~~^^^^^^^^^^^^^^^^^^^^^
  May 17 21:10:43 vericalm setroubleshoot[701785]:  File "/usr/lib/python3.13/site-packages/setroubleshoot/audit_data.py", line 675, in __init__
  May 17 21:10:43 vericalm setroubleshoot[701785]:    self.derive_avc_info_from_audit_event(avc_record)
  May 17 21:10:43 vericalm setroubleshoot[701785]:    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^
  May 17 21:10:43 vericalm setroubleshoot[701785]:  File "/usr/lib/python3.13/site-packages/setroubleshoot/audit_data.py", line 1027, in derive_avc_info_from_audit_event
  May 17 21:10:43 vericalm setroubleshoot[701785]:    raise AVCError(_("%s \n**** Invalid AVC: bad target context ****\n") % self.avc_record)
  May 17 21:10:43 vericalm setroubleshoot[701785]: setroubleshoot.audit_data.AVCError: node=vericalm type=AVC msg=audit(1747512640.952:105829): avc:  denied  { search } for  pid=701712 comm="admin" name="13419" dev="proc" ino=67936 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=dir permissive=1
  May 17 21:10:43 vericalm setroubleshoot[701785]: 
  May 17 21:10:43 vericalm setroubleshoot[701785]: **** Invalid AVC: bad target context ****
  May 17 21:10:43 vericalm setroubleshoot[701785]: During handling of the above exception, another exception occurred:
  ...

So I fairly convinced the problem is induced by the background jobs launched from cron.php.

Also more clear is that the AVC denials come first, and the rest appear to be associated/consequential noise. Am I right?

  + semanage fcontext -l
  + grep --color=auto httpd_sys_script_
  /opt/.*\.cgi                                       regular file       system_u:object_r:httpd_sys_script_exec_t:s0 
  /usr/.*\.cgi                                       regular file       system_u:object_r:httpd_sys_script_exec_t:s0 
  /usr/lib/cgi-bin(/.*)?                             all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  /usr/local/nagios/sbin(/.*)?                       all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  /usr/share/wordpress-mu/wp-config\.php             regular file       system_u:object_r:httpd_sys_script_exec_t:s0 
  /usr/share/wordpress/.*\.php                       regular file       system_u:object_r:httpd_sys_script_exec_t:s0 
  /usr/share/wordpress/wp-includes/.*\.php           regular file       system_u:object_r:httpd_sys_script_exec_t:s0 
  /var/www/[^/]*/cgi-bin(/.*)?                       all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  /var/www/cgi-bin(/.*)?                             all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  /var/www/html/[^/]*/cgi-bin(/.*)?                  all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  /var/www/perl(/.*)?                                all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  /var/www/svn/hooks(/.*)?                           all files          system_u:object_r:httpd_sys_script_exec_t:s0 
  + semanage fcontext -l
  + grep --color=auto gnome_atspi_
  /usr/libexec/at-spi-bus-launcher                   regular file       system_u:object_r:gnome_atspi_exec_t:s0 
  /usr/libexec/at-spi2-registryd                     regular file       system_u:object_r:gnome_atspi_exec_t:s0 

Yes, I think so. There’s a genuine denial, and then there’s noise because of a bug in a Python script which tries to do some further analysis and logging of that denial.

As far as I can see from the Python source code, it would still be an issue in current versions.

(Edit: removed reference to a Bugzilla ticket, which was a different bug in the same Python script.)

1 Like

Try sudo restorecon -nvr /proc for relabel suggestions. Might be something mislabeled. The results you posted, matches mines. Nothing strange there.

ls -aZ /proc | head && echo "..."
                                  system_u:object_r:proc_t:s0 .
                                  system_u:object_r:root_t:s0 ..
                                  system_u:system_r:init_t:s0 1
                                system_u:system_r:kernel_t:s0 10
                                system_u:system_r:kernel_t:s0 100
                     system_u:system_r:cupsd_t:s0-s0:c0.c1023 1031
                              system_u:system_r:gssproxy_t:s0 1047
                      system_u:system_r:sshd_t:s0-s0:c0.c1023 1055
                              system_u:system_r:fail2ban_t:s0 1056
                                 system_u:system_r:named_t:s0 1075
  ...

restorecon -nvr /proc

ls -aZ /proc | head && echo "..."
                                  system_u:object_r:proc_t:s0 .
                                  system_u:object_r:root_t:s0 ..
                                  system_u:system_r:init_t:s0 1
                                system_u:system_r:kernel_t:s0 10
                                system_u:system_r:kernel_t:s0 100
                     system_u:system_r:cupsd_t:s0-s0:c0.c1023 1031
                              system_u:system_r:gssproxy_t:s0 1047
                      system_u:system_r:sshd_t:s0-s0:c0.c1023 1055
                              system_u:system_r:fail2ban_t:s0 1056
                                 system_u:system_r:named_t:s0 1075
  ...

That makes no difference, I do not think it is a labelling issue.

I am now pretty sure the AVC denials are caused by the background processes launched by cron.php necessary for keeping Nextcloud working.

cron.php is no simple script, it launches separate processes depending on how Nextcloud is configured, when cron.php was last run, and so on. [I need to learn php, when I have time. It should not be too difficult given my proficiency in C++ and other languages.]

Let’s suppose that some Nextcloud third party App developer has tried to be too clever. For example, knowing that the process lauched in the background is generic (to cron.php) and wishing to convey more meaningful information to the user, they attempt to disguise the actual process name with the user, such as admin. Is this even possible?

In any case, why would any App wish to crawl through processes under /proc?

I notice there is something wrong with the AVC denial:

  May 17 21:10:40 vericalm audit[701712]: AVC avc:  denied  { search } for  pid=701712 comm="admin" name="13419" dev="proc" ino=67936 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=dir permissive=1

I cannot find an executable for admin.
For other audit messages, the pid= corresponds to the comm=, but here I get:

ps aux | awk '($11~/^awk/){next}/701712/{print " ",$0}'; edate
  apache    701712  0.3  0.2 447960 69016 ?        Sl   21:10   0:04 coolwsd --config-file=/tmp/.mount_CollabCKTWxl/etc/coolwsd/coolwsd.xml --disable-cool-user-checking --port=9983 --lo-template-path=/tmp/.mount_CollabCKTWxl/opt/collaboraoffice --o:sys_template_path=/tmp/.mount_CollabCKTWxl/ --o:security.capabilities=false --o:security.seccomp=false --o:child_root_path=/tmp/coolwsd.PlJto2yk7p/jails --o:file_server_root_path=/tmp/.mount_CollabCKTWxl/usr/share/coolwsd --o:ssl.enable=false --o:net.proxy_prefix=true --o:memproportion=50 --o:logging.file[@enable]=true --o:logging.file.property[0][@name]=path --o:logging.file.property[0]=/tmp/coolwsd.PlJto2yk7p/coolwsd.log --o:welcome.enable=true --o:mount_jail_tree=false --o:user_interface.mode=default --o:allowed_languages=de_DE el en_GB en_US es_ES fr_FR hu it nl pt_BR pt_PT ru --o:fetch_update_check=100000 --o:remote_font_config.url=https://www.redacted/apps/richdocuments/settings/fonts.json --o:net.proto=IPv4 --o:net.lok_allow.host[14]=www.redacted --pidfile=/tmp/coolwsd.pid
  apache    701723  0.1  1.3 702620 440880 ?       S    21:10   0:02 /tmp/.mount_CollabCKTWxl/usr/bin/coolforkit --systemplate=/tmp/.mount_CollabCKTWxl/ --lotemplate=/tmp/.mount_CollabCKTWxl/opt/collaboraoffice --childroot=/tmp/coolwsd.PlJto2yk7p/jails/701712-7201f96b/ --clientport=9983 --masterport=coolwsd-xOTG7rAC --rlimits=limit_virt_mem_mb:0;limit_stack_mem_kb:8000;limit_file_size_mb:0;limit_num_open_files:0 --version --nocaps --noseccomp --ui=default --disable-cool-user-checking
  apache    701760  0.0  0.9 704224 309716 ?       S    21:10   0:00 /tmp/.mount_CollabCKTWxl/usr/bin/coolforkit --systemplate=/tmp/.mount_CollabCKTWxl/ --lotemplate=/tmp/.mount_CollabCKTWxl/opt/collaboraoffice --childroot=/tmp/coolwsd.PlJto2yk7p/jails/701712-7201f96b/ --clientport=9983 --masterport=coolwsd-xOTG7rAC --rlimits=limit_virt_mem_mb:0;limit_stack_mem_kb:8000;limit_file_size_mb:0;limit_num_open_files:0 --version --nocaps --noseccomp --ui=default --disable-cool-user-checking
  apache    701769  0.0  0.9 703024 309752 ?       S    21:10   0:00 /tmp/.mount_CollabCKTWxl/usr/bin/coolforkit --systemplate=/tmp/.mount_CollabCKTWxl/ --lotemplate=/tmp/.mount_CollabCKTWxl/opt/collaboraoffice --childroot=/tmp/coolwsd.PlJto2yk7p/jails/701712-7201f96b/ --clientport=9983 --masterport=coolwsd-xOTG7rAC --rlimits=limit_virt_mem_mb:0;limit_stack_mem_kb:8000;limit_file_size_mb:0;limit_num_open_files:0 --version --nocaps --noseccomp --ui=default --disable-cool-user-checking
  apache    701770  0.0  0.9 703024 309912 ?       S    21:10   0:00 /tmp/.mount_CollabCKTWxl/usr/bin/coolforkit --systemplate=/tmp/.mount_CollabCKTWxl/ --lotemplate=/tmp/.mount_CollabCKTWxl/opt/collaboraoffice --childroot=/tmp/coolwsd.PlJto2yk7p/jails/701712-7201f96b/ --clientport=9983 --masterport=coolwsd-xOTG7rAC --rlimits=limit_virt_mem_mb:0;limit_stack_mem_kb:8000;limit_file_size_mb:0;limit_num_open_files:0 --version --nocaps --noseccomp --ui=default --disable-cool-user-checking
  apache    701771  0.0  0.9 703024 309976 ?       S    21:10   0:00 /tmp/.mount_CollabCKTWxl/usr/bin/coolforkit --systemplate=/tmp/.mount_CollabCKTWxl/ --lotemplate=/tmp/.mount_CollabCKTWxl/opt/collaboraoffice --childroot=/tmp/coolwsd.PlJto2yk7p/jails/701712-7201f96b/ --clientport=9983 --masterport=coolwsd-xOTG7rAC --rlimits=limit_virt_mem_mb:0;limit_stack_mem_kb:8000;limit_file_size_mb:0;limit_num_open_files:0 --version --nocaps --noseccomp --ui=default --disable-cool-user-checking
  2025-05-17 21:33:54 root on vericalm for vericalm

The process associated with pid=701712 is coolwsd not admin.

So there is something very wrong with this AVC denial.
Does anyone have any ideas?

One way a process name can change is if it runs exec to replace itself in memory with another executable.

For example, try running the following command in one terminal to get the PID of your Bash shell.

[Terminal 1]$ echo $$
7998

Keeping that terminal open, in another terminal, run the following to verify the process name associated with that PID.

[Terminal 2]$ ps -p 7998                                                                                                   
    PID TTY          TIME CMD
   7998 pts/1    00:00:00 bash

Now in the first terminal, replace Bash with the sleep command by running the following command.

[Terminal 1]$ exec /usr/bin/sleep infinity

Now go back to your other terminal and check again what process has the original PID.

[Terminal 2]$ ps -p 7998
    PID TTY          TIME CMD
   7998 pts/1    00:00:00 sleep

It is quite possible that cron.php is running admin (directly or indirectly) and then admin has done an exec system call to replace itself with coolwsd. In fact, that might explain why admin is poking around under /proc. If the admin command is forking and execing other processes, it might be attempting to look up some details about the spawned processes by reading from /proc.

That’s interesting that it is fairly easy, even in shell environment, for a process to masquerade its process name.

Why would a genuine process ever want to do that?

It’s not just the process name, there’s other things in the AVC denial that make me think it is so corrupt that it trips up setroubleshootd with invalid security context and subsequently further problems for setroubleshoot.

Let’s suppose some App running php as a non-priveled user apache inside Nextcloud has gone rogue (there’s a genuine bug — a coding error, or the coder is attempting to do something outside the accepted remit or scope of the app). This rogue app has effectively taken down a web site[1]. I would like to believe that layers of defences would have afforded some sort of protection against this. Hence my desire is get these defences bolstered by submitting bug reports against the relevant layers. But as this is not my field of expertise, I’d appreciate some help.

  1. Obviously, I need to bug report the offending app. How can we help the developer? What is the app doing wrong that is causing the AVC denials? Is a process not allowed to inspect anything underneath /proc/<pid> where <pid> is its own process id?
  2. It does not make sense to expect a sysadmin to adjust the security contexts of files under /proc because they are transitory. Is there something wrong with the SELinux defaults such that gnome_atspi_t is missing? Is there a bug with SELinux in this scenario at all?
  3. I had presumed that Nextcloud is sufficiently mature that any App installed within its umbrella would be contained or shielded from causing system chaos. Is there a problem with the API presented to Nexcloud apps? Is there a problem with the vetting procedure for apps (like not marking an app as untested before it has been tested/vetted)?
  4. Is there a problem with the web interface, specifically httpd and php-fpm, that can allow an apache user app to cause havoc?
  5. Is there a problem with the setup on this machine that could be adjusted to mitigate this scenario? (I’ve already noted changing SELinux to enforcing, and to migrate from external Nextcloud installation to the official Fedora dnf installation). I don’t think my external facing layers of protection have been breached, but I’d welcome any suggestions for monitoring or bolstering.
  6. Is there another layer in this list that I might have neglected to mention? Have I misconstrued anything?

  1. This is almost a denial of service through floods of error messages leading to delayed responses, overflowing message queues etc. I’m having to reset user accounts because they have been locked out due to “too many requests”. ↩︎

I have identified the offending Nextcloud app, it’s Collabora Online, aka Nextcloud Office, aka richdocuments.

The clue was richdocuments hidden in the ps aux listed above.

When I disable this App, the AVC denials and subsequent chaos stop. They start again if I re-enable the app.

occ app:disable richdocuments

This is a workaround, but means no one can use Nextcloud Office.

I’d appreciate any help in formulating relevant bug reports before marking this topic as solved. Can the title now be made more succinct?

Just to input on a couple of these:

According to the SELinux policy, no. (ls -alZ /proc shows that different processes have different SELinux labels, to enable fine-grained access control. In fact, even the default proc_t type shouldn’t be accessible by an arbitrary process.)

A system administrator can choose whether to relax that. However, earlier on you said that “My presumption is that all such processes are contained within Nextcloud and user apache. There should be nothing which could surprise SELinux.”

Based on that, is it right to conclude a Nextcloud process trawling through /proc breaches your expectations about containment?

At first glance, I don’t think so. gnome_atspi_t is referenced in the standard Fedora SELinux policy.

Worth thinking about running Nextcloud as a container in Docker or Podman? (I believe Nextcloud provides a readymade Docker container to start from.) I find that makes it easier to reason about how the containment works.

It’s worth making a bug report in Bugzilla against Fedora’s setroubleshoot-server package, which contains the Python script causing that “UnboundLocalError” noise.

In turn there should be a bug report to the upstream (looks like a simple fix - the problem is this line of code, which attempts to use syslog before importing it).

The exec command isn’t masquerading the command name. It is just a quicker way to reallocate a process’ resources (mainly memory, but other things like the PID as well) to another process. The original process ceases to exist. Using the system call incorrectly can be a security problem, however, if the original process (e.g. admin) didn’t drop whatever privileges it had before calling exec.

FWIW, the following might also work around the problem, with the tradeoff of having slightly reduced security. It wouldn’t be quite as bad as running all of SELinux in permissive mode though.

sudo semanage permissive -a gnome_atspi_t

Edit: Nevermind, that wouldn’t prevent the logging of the access violation, which is apparently what you are needing to stop. Since the audit2allow tool seems to be having trouble parsing the logs, I guess you would have to craft the allow rule by hand. That should be doable.

The problem I see with your AVC’s is that it’s reporting labels that don’t exist on your system.

type=AVC msg=audit(1747062997.287:1829): avc:  denied  { search } for  pid=10235 comm="admin" name="13419" dev="proc" ino=67936 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=dir permissive=1
type=AVC msg=audit(1747063007.319:1830): avc:  denied  { read } for  pid=10235 comm="admin" name="comm" dev="proc" ino=67983 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=file permissive=1
type=AVC msg=audit(1747063007.319:1831): avc:  denied  { open } for  pid=10235 comm="admin" path="/proc/13419/comm" dev="proc" ino=67983 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=file permissive=1
type=AVC msg=audit(1747063007.319:1832): avc:  denied  { getattr } for  pid=10235 comm="admin" path="/proc/13419/comm" dev="proc" ino=67983 scontext=system_u:system_r:httpd_sys_script_t:s0 tcontext=unconfined_u:unconfined_r:gnome_atspi_t:s0-s0:c0.c1023 tclass=file permissive=1
Cmd Cmd label Perms Class Name Path Class label
admin httpd_sys_script_t search dir 13419 gnome_atspi_t
admin httpd_sys_script_t read file comm gnome_atspi_t
admin httpd_sys_script_t open file comm /proc/13419/comm gnome_atspi_t
admin httpd_sys_script_t getattr file 13419 /proc/13419/comm gnome_atspi_t

Breakdown of the denials:

  1. admin(httpd_sys_script_t) request permission to search the dir named 13419(gnome_atspi_t) inside /proc.

  2. admin(httpd_sys_script_t) request permission to read the file named comm(gnome_atspi_t) inside /proc/13419.

  3. admin(httpd_sys_script_t) request permission to open the file named comm(gnome_atspi_t) inside /proc/13419.

  4. admin(httpd_sys_script_t) request permission to getattr of the file named comm(gnome_atspi_t) inside /proc/13419.

Results:

  • The directory /proc/13419 should exist and be labeled gnome_atspi_t.
  • The file /proc/13419/comm should exist and be labeled gnome_atspi_t.
  • Both test confirm neither label exist on your system.

If you just don’t want to see these errors I can write a policy so that you don’t have too.

I would not recommend running selinux in permissive mode.

I reported the Collabora bug.

1 Like

If I was the developer of the offending code (the Collabora app) then I’d probably want to check/ensure that the process was created with the correct label(s).

As a user, are you telling me that the SELinux defaults for this system should include gnome_atspi_t such that new processes inherit this label? Could it be that the label gnome_atspi_t has been introduced since F30 was installed in 2019 and that the successive upgrades have failed to touch this? If so, what would be the command to correct this anomoly?

I’m not keen on a paste-over like a custom policy. That would add a complication for on-going maintenance, future upgrades, etc. Also, if there is something underlying that is wrong (like outdated defaults for SELinux), then I’d want that fixed rather risk recurrence if similar/worse issues in the future.

Neither Nextcloud or Collabora have an selinux policy. They only post that you relabel the files with the apache label type. This then defaults to using the apache policy. This policy is fine tuned for apache server, not every app that uses it.

When labels with the *_*_exec_t type run, they appear without the exec type label. So for instance in your case, gnome_atspi_t was run as gnome_atspi_exec_t first. All logs will display gnome_atspi_t as the running command label asking for permissions.

I can create a policy that allows only those four denials to succeed until or a nextcloud selinux policy has to be created tested and pushed upstream to get your ideal outcome.

1 Like

I reported the setroubleshoot bug.

1 Like

Cool, but rather than being something that Nextcloud can fix, it’s a bug in setroubleshoot itself (actually, in terms of Fedora’s packaging schema, it’s in the setroubleshoot-server rpm.)

So in the first instance it’s a bug to raise in Fedora Bugzilla.

There should also be a corresponding issue raised in the Gitlab repo upstream (setroubleshoot / setroubleshoot · GitLab), though I’m not sure if the Fedora package maintainer will raise that or whether they prefer you to raise it.

See https://gitlab.com/setroubleshoot/setroubleshoot/-/issues/14
See https://github.com/CollaboraOnline/online/issues/12065