linux/security/apparmor
John Johansen 25e75dff51 AppArmor: Fix masking of capabilities in complain mode
AppArmor is masking the capabilities returned by capget against the
capabilities mask in the profile.  This is wrong, in complain mode the
profile has effectively all capabilities, as the profile restrictions are
not being enforced, merely tested against to determine if an access is
known by the profile.

This can result in the wrong behavior of security conscience applications
like sshd which examine their capability set, and change their behavior
accordingly.  In this case because of the masked capability set being
returned sshd fails due to DAC checks, even when the profile is in complain
mode.

Kernels affected: 2.6.36 - 3.0.

Signed-off-by: John Johansen <john.johansen@canonical.com>
2011-06-29 02:04:44 +01:00
..
include Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
.gitignore .gitignore: ignore apparmor/rlim_names.h 2010-10-21 10:12:35 +11:00
Kconfig apparmor: depends on NET 2010-08-05 07:36:51 -04:00
Makefile AppArmor: cleanup generated files correctly 2011-03-08 17:03:53 -08:00
apparmorfs.c Merge branch 'llseek' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl 2010-10-22 10:52:56 -07:00
audit.c
capability.c AppArmor: mediation of non file objects 2010-08-02 15:38:35 +10:00
context.c AppArmor: contexts used in attaching policy to system objects 2010-08-02 15:35:12 +10:00
domain.c AppArmor: Fix reference to rcu protected pointer outside of rcu_read_lock 2011-06-29 02:02:03 +01:00
file.c AppArmor: file enforcement routines 2010-08-02 15:35:14 +10:00
ipc.c AppArmor: fix build warnings for non-const use of get_task_cred 2010-08-02 15:49:00 +10:00
lib.c AppArmor: Fix splitting an fqname into separate namespace and profile names 2010-09-08 09:19:31 +10:00
lsm.c AppArmor: Fix masking of capabilities in complain mode 2011-06-29 02:04:44 +01:00
match.c Create Documentation/security/, 2011-05-19 15:59:38 -07:00
path.c fs: take dcache_lock inside __d_path 2010-10-25 21:26:12 -04:00
policy.c APPARMOR: Fix memory leak of alloc_namespace() 2010-11-11 07:36:18 +11:00
policy_unpack.c Create Documentation/security/, 2011-05-19 15:59:38 -07:00
procattr.c AppArmor: userspace interfaces 2010-08-02 15:35:13 +10:00
resource.c AppArmor: Fix security_task_setrlimit logic for 2.6.36 changes 2010-09-08 09:19:29 +10:00
sid.c AppArmor: core policy routines 2010-08-02 15:38:37 +10:00