This is the upstream repository for the Security Enhanced Linux (SELinux) userland libraries and tools. The software provided by this project complements the SELinux features integrated into the Linux kernel and is used by Linux distributions. All bugs an
Go to file
Mike Palmiotto 544cc7957b libsepol/cil: fix mlsconstrain segfault
Installing a cil module with invalid mlsconstrain syntax currently
results in a segfault. In the following module, the right-hand side of
the second operand of the OR is a list (mlstrustedobject):

$ cat test.cil
(class test (foo) )
(classorder (unordered test))

(mlsconstrain (test (foo))
	(or
		(dom h1 h2)
		(eq t2 (mlstrustedobject))
	)
)

$ sudo semodule -i test.cil
zsh: segmentation fault  sudo semodule -i test.cil

This syntax is invalid and should error accordingly, rather than
segfaulting. This patch provides this syntax error for the same module:

$ sudo semodule -i test.cil
t1, t2, r1, r2, u1, u2 cannot be used on the left side with a list on the right side
Bad expression tree for constraint
Bad constrain declaration at /var/lib/selinux/mls/tmp/modules/400/test/cil:4
semodule:  Failed!

Signed-off-by: Mike Palmiotto <mike.palmiotto@crunchydata.com>
2019-06-19 09:01:23 -07:00
checkpolicy Update man pages translation by Olesya Gerasimenko 2019-05-28 07:50:34 -04:00
dbus Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
gui gui: Install .desktop files to /usr/share/applications by default 2019-03-18 22:06:40 +01:00
libselinux Check strdup() failure 2019-05-15 17:36:18 -07:00
libsemanage Trivial style fixes 2019-05-28 07:51:43 -04:00
libsepol libsepol/cil: fix mlsconstrain segfault 2019-06-19 09:01:23 -07:00
mcstrans Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
policycoreutils Trivial style improvements 2019-05-28 07:51:28 -04:00
python Update man pages translation by Olesya Gerasimenko 2019-05-28 07:50:34 -04:00
restorecond restorecond: Do not link against libpcre 2019-03-26 22:21:31 +01:00
sandbox Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
scripts Switch to python3 by default 2019-02-20 16:43:27 +01:00
secilc Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
semodule-utils Update VERSIONs to 2.9 for release. 2019-03-15 11:32:30 +01:00
.gitignore restorecond: Add gitignore 2016-11-16 11:20:05 -05:00
.travis.yml scripts: introduce env_use_destdir.sh helper 2019-01-21 12:13:41 +01:00
CleanSpec.mk Add empty top level Android.mk / CleanSpec.mk files 2015-04-16 07:54:09 -04:00
CONTRIBUTING.md Add CONTRIBUTING.md 2019-06-14 14:58:52 -04:00
Makefile build: setup buildpaths if DESTDIR is specified 2018-02-14 20:02:03 +01:00
README README: Update Fedora python 3 dependencies 2019-02-20 16:43:27 +01:00

Please submit all bug reports and patches to selinux@vger.kernel.org.
Subscribe by sending "subscribe selinux" in the body of an email
to majordomo@vger.kernel.org.

Build dependencies on Fedora:
yum install audit-libs-devel bison bzip2-devel dbus-devel dbus-glib-devel flex flex-devel flex-static glib2-devel libcap-devel libcap-ng-devel pam-devel pcre-devel python3-devel python3-setools swig xmlto redhat-rpm-config

To build and install everything under a private directory, run:
make DESTDIR=~/obj install install-pywrap

To install as the default system libraries and binaries
(overwriting any previously installed ones - dangerous!),
on x86_64, run:
make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel
or on x86 (32-bit), run:
make install install-pywrap relabel

This may render your system unusable if the upstream SELinux userspace
lacks library functions or other dependencies relied upon by your
distribution.  If it breaks, you get to keep both pieces.

To install libsepol on macOS (mainly for policy analysis):
cd libsepol; make PREFIX=/usr/local install

This requires GNU coreutils (brew install coreutils).