Bug 1560986

Summary: RFE: SELinux boolean to allow antivirus_t to read /proc
Product: Red Hat Enterprise Linux 7 Reporter: Zdenek Pytela <zpytela>
Component: selinux-policyAssignee: Lukas Vrabec <lvrabec>
Status: CLOSED ERRATA QA Contact: Milos Malik <mmalik>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 7.4CC: lvrabec, mgrepl, mmalik, mthacker, plautrba, ralston, ssekidde
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: selinux-policy-3.13.1-203.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-30 10:03:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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