From: Dominick Grift <dac.override@gmail.com>
To: Stephen Smalley <sds@tycho.nsa.gov>, selinux@tycho.nsa.gov
Subject: Re: does it make sense that dac_override get's checked before dac_read_search?
Date: Wed, 23 Mar 2016 21:06:46 +0100 [thread overview]
Message-ID: <56F2F756.6020401@gmail.com> (raw)
In-Reply-To: <56F2C7A5.1090303@tycho.nsa.gov>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 03/23/2016 05:43 PM, Stephen Smalley wrote:
> On 03/23/2016 11:27 AM, Dominick Grift wrote:
>>
>> A long time ago Eric Paris hinted that the policy WRT
>> dac_override could probably be cleaned up.
>>
>> I suspect that most of the the time dac_override is not needed
>> (too coarse). Instead dac_read_search would be sufficient for the
>> common scenario where root processes traverse locations where it
>> doesn't have DAC permissions to traverse.
>>
>> The problem is that dac_override seems to be checked first. but
>> dac_override , if i understand it, is broader than
>> dac_read_search
>>
>> so why is dac_read_search not checked before dac_override?
>
> I would be in favor of flipping the order of checks, but not sure
> how receptive upstream would be. Outside of LSMs, the order
> doesn't matter since it isn't being audited, and checking
> CAP_DAC_OVERRIDE first does allow them to optimize for the case
> where the process has it. In their world, the case where a process
> has CAP_DAC_READ_SEARCH but not CAP_DAC_OVERRIDE is rare.
>
> A somewhat similar case was the order of checks in can_do_mlock,
> which did get reversed: commit
> a5a6579db33af91f4f5134e14be758dc71c1b694 Author: Jeff Vander Stoep
> <jeffv@google.com> Date: Thu Mar 12 16:26:17 2015 -0700
>
> mm: reorder can_do_mlock to fix audit denial
>
> A userspace call to mmap(MAP_LOCKED) may result in the successful
> locking of memory while also producing a confusing audit log
> denial. can_do_mlock checks capable and rlimit. If either of these
> return positive can_do_mlock returns true. The capable check leads
> to an LSM hook used by apparmour and selinux which produce the
> audit denial. Reordering so rlimit is checked first eliminates the
> denial on success, only recording a denial when the lock is
> unsuccessful as a result of the denial.
>
> However, in that case reordering the checks was more performant in
> the common case.
>
After giving it some thought. I dont think it matters. dac_read_search
is useless. because it overlaps with dac_override. only one of the two
is meaningful and it can only be dac_override because that one is
comprehensive.
You see if dac_read_search would be checked first then dac_override
would be useless.
- --
Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02
https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02
Dominick Grift
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQGcBAEBCAAGBQJW8vdRAAoJECV0jlU3+Udp6aYMAIcMxZGHl6Zk6UP1VhzLeTUv
IKFYrfITr8vLu8Fxg6CHu+a6L32dZWE99zcRfZo95Ic8zY/9J+6O1QU0JHR8JdiQ
LxKmUVoXli2Cl7piTjDg3f2ZP0SXSae8c3aETh539jvsVI4/tt+HfIG1fqKj37ZK
BDDR8vqP5Pm1eqT1KnnKqQEBxOKOHa3xExV9zm3DCbn1FWfcDrOw//peNtB4kggm
OrNFsKk1LUsubnxQe+4b0fjORWYr6bNt6VLtvoN7Tn3WaiW9yz4MmhJKxjQAm4yK
QCPtcdUVsicsCd7ip6eGWVNbimrtVOuPskUu7gxxIz59hQwKM7T0rF4PQrZiG646
m+3RQzlxNQiNlLhzV30Ei8AFAc8qN3BU6qt5nMx0h741nz6klF5Bz9tkgHMdE0KX
1g2/a4XQu8MV8uVDFwSklq7scy9SuuvD9GWRFn30Xy8KB+LoXL3PrbUpCdHSBKo4
r6+gwH2Kat5sJPForkJcoPCjcbWdj7dhzCO+oRwfWg==
=rTfp
-----END PGP SIGNATURE-----
prev parent reply other threads:[~2016-03-23 20:06 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-23 15:27 does it make sense that dac_override get's checked before dac_read_search? Dominick Grift
2016-03-23 16:43 ` Stephen Smalley
2016-03-23 17:06 ` Dominick Grift
2016-03-23 20:06 ` Dominick Grift [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56F2F756.6020401@gmail.com \
--to=dac.override@gmail.com \
--cc=sds@tycho.nsa.gov \
--cc=selinux@tycho.nsa.gov \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.