1. 01 Feb, 2008 1 commit
  2. 29 Jan, 2008 14 commits
  3. 28 Jan, 2008 1 commit
  4. 26 Jan, 2008 1 commit
  5. 25 Jan, 2008 11 commits
  6. 22 Jan, 2008 1 commit
    • Andrew G. Morgan's avatar
      Fix filesystem capability support · a6dbb1ef
      Andrew G. Morgan authored
      
      In linux-2.6.24-rc1, security/commoncap.c:cap_inh_is_capped() was
      introduced. It has the exact reverse of its intended behavior. This
      led to an unintended privilege esculation involving a process'
      inheritable capability set.
      
      To be exposed to this bug, you need to have Filesystem Capabilities
      enabled and in use. That is:
      
      - CONFIG_SECURITY_FILE_CAPABILITIES must be defined for the buggy code
        to be compiled in.
      
      - You also need to have files on your system marked with fI bits raised.
      Signed-off-by: default avatarAndrew G. Morgan <morgan@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: Linus Torvalds <torvalds@akpm@linux-foundation.org>
      a6dbb1ef
  7. 21 Jan, 2008 1 commit
  8. 05 Dec, 2007 3 commits
  9. 29 Nov, 2007 1 commit
    • Serge E. Hallyn's avatar
      file capabilities: don't prevent signaling setuid root programs · 8ec2328f
      Serge E. Hallyn authored
      
      An unprivileged process must be able to kill a setuid root program started
      by the same user.  This is legacy behavior needed for instance for xinit to
      kill X when the window manager exits.
      
      When an unprivileged user runs a setuid root program in !SECURE_NOROOT
      mode, fP, fI, and fE are set full on, so pP' and pE' are full on.  Then
      cap_task_kill() prevents the user from signaling the setuid root task.
      This is a change in behavior compared to when
      !CONFIG_SECURITY_FILE_CAPABILITIES.
      
      This patch introduces a special check into cap_task_kill() just to check
      whether a non-root user is signaling a setuid root program started by the
      same user.  If so, then signal is allowed.
      Signed-off-by: default avatarSerge E. Hallyn <serue@us.ibm.com>
      Cc: Andrew Morgan <morgan@kernel.org>
      Cc: Stephen Smalley <sds@epoch.ncsc.mil>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Cc: James Morris <jmorris@namei.org>
      Cc: Casey Schaufler <casey@schaufler-ca.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8ec2328f
  10. 15 Nov, 2007 1 commit
  11. 07 Nov, 2007 3 commits
  12. 22 Oct, 2007 2 commits
    • Eric Paris's avatar
      SELinux: always check SIGCHLD in selinux_task_wait · 8a535140
      Eric Paris authored
      
      When checking if we can wait on a child we were looking at
      p->exit_signal and trying to make the decision based on if the signal
      would eventually be allowed.  One big flaw is that p->exit_signal is -1
      for NPTL threads and so aignal_to_av was not actually checking SIGCHLD
      which is what would have been sent.  Even is exit_signal was set to
      something strange it wouldn't change the fact that the child was there
      and needed to be waited on.  This patch just assumes wait is based on
      SIGCHLD.  Specific permission checks are made when the child actually
      attempts to send a signal.
      
      This resolves the problem of things like using GDB on confined domains
      such as in RH BZ 232371.  The confined domain did not have permission to
      send a generic signal (exit_signal == -1) back to the unconfined GDB.
      With this patch the GDB wait works and since the actual signal sent is
      allowed everything functions as it should.
      Signed-off-by: default avatarEric Paris <eparis@redhat.com>
      Signed-off-by: default avatarJames Morris <jmorris@namei.org>
      8a535140
    • Serge E. Hallyn's avatar
      capabilities: clean up file capability reading · b68680e4
      Serge E. Hallyn authored
      
      Simplify the vfs_cap_data structure.
      
      Also fix get_file_caps which was declaring
      __le32 v1caps[XATTR_CAPS_SZ] on the stack, but
      XATTR_CAPS_SZ is already * sizeof(__le32).
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: default avatarSerge E. Hallyn <serue@us.ibm.com>
      Cc: Andrew Morgan <morgan@kernel.org>
      Cc: Chris Wright <chrisw@sous-sol.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b68680e4