Bug 1560986 - RFE: SELinux boolean to allow antivirus_t to read /proc
Summary: RFE: SELinux boolean to allow antivirus_t to read /proc
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: selinux-policy
Version: 7.4
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Lukas Vrabec
QA Contact: Milos Malik
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-03-27 12:12 UTC by Zdenek Pytela
Modified: 2018-10-30 10:04 UTC (History)
7 users (show)

Fixed In Version: selinux-policy-3.13.1-203.el7
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-10-30 10:03:16 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 3393021 None None None 2018-03-27 14:26:58 UTC
Red Hat Product Errata RHBA-2018:3111 None None None 2018-10-30 10:04:01 UTC

Description Zdenek Pytela 2018-03-27 12:12:02 UTC
Description of problem:
The Clam Antivirus daemon, clamd, can use the fanotify(7) interface to allow malware scans to be triggered dynamically, as files are accessed. clamd provides a configuration option, OnAccessExcludeUID, to exempt certain users from on-access antivirus scanning. To implement this, clamd looks at the pid field of the fanotify_event_metadata structure, and calls stat() on /proc/PID. If the stat() call succeeds, clamd then checks whether the stat.uid_t value matches any uid that clamd was told to exclude from on-access scanning. If clamd finds a match, it takes no further action; if it doesn't find a match, it performs a scan of the file that was accessed. At the moment, the SELinux targeted policy prevents clamd from calling stat() on arbitrary pids in /proc:

[pid  1234] stat("/proc/5678", 0x7f81768785a0) = -1 EACCES (Permission denied)

A new boolean which would allow system administrators to grant the getattr permission on domains is requested to accomplish the feature.


Version-Release number of selected component (if applicable):
selinux-policy-3.13.1-166.el7_4.7

How reproducible:
always

Steps to Reproduce:
1. install clamav-server
2. turn OnAccessExcludeUID on

Actual results:
Permission denied when accessing directories in /proc

Expected results:
No permission denied

Additional info:
The selinux policy currently contains a dontaudit rule:
   dontaudit antivirus_domain domain : dir { ioctl read getattr lock search open } ;

Comment 11 errata-xmlrpc 2018-10-30 10:03:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3111


Note You need to log in before you can comment on or make changes to this bug.