Bug 1312097 - selinux: semanage dontaudit off and vsftpd together causes crash [NEEDINFO]
selinux: semanage dontaudit off and vsftpd together causes crash
Status: CLOSED NOTABUG
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: selinux-policy (Show other bugs)
7.2
x86_64 Linux
low Severity medium
: rc
: ---
Assigned To: Lukas Vrabec
BaseOS QE Security Team
:
Depends On:
Blocks: 1393066
  Show dependency treegraph
 
Reported: 2016-02-25 12:51 EST by mheadlee
Modified: 2017-08-17 03:59 EDT (History)
7 users (show)

See Also:
Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-08-17 03:59:16 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mgrepl: needinfo? (mheadlee)


Attachments (Terms of Use)
audit.log from system experiencing the above described issue. (217.46 KB, text/plain)
2016-03-17 08:19 EDT, mheadlee
no flags Details
Screenshot of machine before starting vsftpd. (17.24 KB, image/png)
2016-03-17 08:27 EDT, mheadlee
no flags Details
Screenshot of machine after starting vsftpd. (15.58 KB, image/png)
2016-03-17 08:28 EDT, mheadlee
no flags Details

  None (edit)
Description mheadlee 2016-02-25 12:51:02 EST
Description of problem:

    * vsftpd generates boat loads (technical figure) of SELinux denials which are ignored by dontaudit rules.
    * Disabling dontaudit rules causes boat loads of denials to be logged to audit.log.
    * setroubleshoot is run from dbus for each SELinux denial.
    * Thousands of setroubleshoots start simultaneously.
    * Machine runs out of memory and locks
    * Reboot does not fix problem, machine needs to be booted into rescue and audit.log truncated to fix

How reproducible:
Always

Steps to Reproduce:
1. # yum -y install vsftpd
2. # semanage dontaudit off
3. # systemctl start vsftpd


Actual results:
System runs out of memory and crashes. 

Expected results:
System doesn't crash.
Comment 4 Miroslav Grepl 2016-03-17 05:46:05 EDT
(In reply to mheadlee from comment #0)
> Description of problem:
> 
>     * vsftpd generates boat loads (technical figure) of SELinux denials
> which are ignored by dontaudit rules.
>     * Disabling dontaudit rules causes boat loads of denials to be logged to
> audit.log.
>     * setroubleshoot is run from dbus for each SELinux denial.
>     * Thousands of setroubleshoots start simultaneously.
>     * Machine runs out of memory and locks
>     * Reboot does not fix problem, machine needs to be booted into rescue
> and audit.log truncated to fix
> 
> How reproducible:
> Always
> 
> Steps to Reproduce:
> 1. # yum -y install vsftpd
> 2. # semanage dontaudit off
> 3. # systemctl start vsftpd
> 
> 
> Actual results:
> System runs out of memory and crashes. 
> 
> Expected results:
> System doesn't crash.

Could you attach examples of these AVCs?
Comment 5 mheadlee 2016-03-17 08:19 EDT
Created attachment 1137372 [details]
audit.log from system experiencing the above described issue.

Specifically note "1458216459.180:125" on line 579 when vsftpd is started. System ran out of memory and crashed on line 924.
Comment 6 mheadlee 2016-03-17 08:27 EDT
Created attachment 1137378 [details]
Screenshot of machine before starting vsftpd.
Comment 7 mheadlee 2016-03-17 08:28 EDT
Created attachment 1137380 [details]
Screenshot of machine after starting vsftpd.
Comment 8 Miroslav Grepl 2016-03-17 09:04:31 EDT
Ok so there is no problem with vsftpd in enforcing mode if you have turned dontaudit rules on, right?
Comment 9 Milos Malik 2016-03-17 09:31:38 EDT
Based on the last screenshot, the machine swaps heavily (load over 7, kswapd0 process is shown as first in the top output). How much memory does the machine have? Maybe setroubleshoot-server (written python) is consuming too much memory.
Comment 12 Lukas Vrabec 2017-08-17 03:59:16 EDT
Related to comment#9, it looks like the issue is with the HW capacity, not issue in selinux-policy. Closing this BZ as NOTABUG.

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