RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1426205 - Silence denials of, or provide a way to allow PCRE JIT mmap for FreeRADIUS
Summary: Silence denials of, or provide a way to allow PCRE JIT mmap for FreeRADIUS
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
medium
medium
Target Milestone: rc
: ---
Assignee: Simon Sekidde
QA Contact: Milos Malik
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-23 12:17 UTC by Nikolai Kondrashov
Modified: 2017-08-01 15:22 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-08-01 15:22:43 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2017:1861 0 normal SHIPPED_LIVE selinux-policy bug fix update 2017-08-01 17:50:24 UTC

Description Nikolai Kondrashov 2017-02-23 12:17:04 UTC
Description of problem:

FreeRADIUS uses PCRE JIT feature, which mmaps memory with PROT_WRITE|PROT_EXEC to store compiled binary code, later to be executed. The mmap is denied by SELinux, producing an AVC failure in audit logs:

    type=AVC msg=audit(1480946786.958:3174): avc:  denied  { execmem } for  pid=32684 comm="radiusd" scontext=system_u:system_r:radiusd_t:s0 tcontext=system_u:system_r:radiusd_t:s0 tclass=process
    type=SYSCALL msg=audit(1480946786.958:3174): arch=c000003e syscall=9 success=no exit=-13 a0=0 a1=10000 a2=7 a3=22 items=0 ppid=1 pid=32684 auid=4294967295 uid=0 gid=95 euid=95 suid=0 fsuid=95 egid=95 sgid=95 fsgid=95 tty=(none) ses=4294967295 comm="radiusd" exe="/usr/sbin/radiusd" subj=system_u:system_r:radiusd_t:s0 key=(null)

FreeRADIUS functionality is not affected by that denial, only performance. It is likely that the performance hit is not significant in most cases.

Please consider either silencing these failures, or adding an SELinux boolean allowing FreeRADIUS mmap with PROT_WRITE|PROT_EXEC, disabled by default.

Version-Release number of selected component (if applicable):

selinux-policy-3.13.1-102.el7_3.13.noarch
selinux-policy-targeted-3.13.1-102.el7_3.13.noarch
freeradius-3.0.12-2.el7.x86_64
pcre-8.32-15.el7_2.1.x86_64

How reproducible:
Always

Steps to Reproduce:

    sudo service radiusd start
    sudo grep 'denied.*execmem.*radiusd' /var/log/audit/audit.log | tail -n1

Actual results:

    type=AVC msg=audit(1487851866.354:329): avc:  denied  { execmem } for  pid=11190 comm="radiusd" scontext=system_u:system_r:radiusd_t:s0 tcontext=system_u:system_r:radiusd_t:s0 tclass=process

Expected results:

No output.

Additional info:

Discussion with upstream:
https://github.com/FreeRADIUS/freeradius-server/issues/1865

Comment 5 Milos Malik 2017-03-02 20:31:32 UTC
# rpm -qa selinux-policy\*
selinux-policy-targeted-3.13.1-124.el7.noarch
selinux-policy-minimum-3.13.1-124.el7.noarch
selinux-policy-mls-3.13.1-124.el7.noarch
selinux-policy-3.13.1-124.el7.noarch
selinux-policy-devel-3.13.1-124.el7.noarch
# sesearch -b radius_use_jit -A -C
Found 1 semantic av rules:
ET allow radiusd_t radiusd_t : process execmem ; [ radius_use_jit ]

# sesearch -b radius_use_jit -D -C
Found 1 semantic av rules:
DF dontaudit radiusd_t radiusd_t : process execmem ; [ radius_use_jit ]

# sesearch -s radiusd_t -t radiusd_t -c process -p ptrace -A -C

# sesearch -s radiusd_t -t radiusd_t -c process -p ptrace -D -C

# 

The { ptrace } denial is not fixed.

Comment 6 Nikolai Kondrashov 2017-03-03 08:23:02 UTC
Thank you, Simon, Milos.

The ptrace denial has its own Bug 1426641.

Comment 8 errata-xmlrpc 2017-08-01 15:22:43 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-2017:1861


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