23 Feb, 2013

1 commit


21 Sep, 2012

1 commit


10 Apr, 2012

2 commits


04 Apr, 2012

1 commit

  • Linus found that the gigantic size of the common audit data caused a big
    perf hit on something as simple as running stat() in a loop. This patch
    requires LSMs to declare the LSM specific portion separately rather than
    doing it in a union. Thus each LSM can be responsible for shrinking their
    portion and don't have to pay a penalty just because other LSMs have a
    bigger space requirement.

    Signed-off-by: Eric Paris
    Signed-off-by: Linus Torvalds

    Eric Paris
     

27 Mar, 2012

1 commit

  • Fix failure in aa_change_onexec api when the request is made from a confined
    task. This failure was caused by two problems

    The AA_MAY_ONEXEC perm was not being mapped correctly for this case.

    The executable name was being checked as second time instead of using the
    requested onexec profile name, which may not be the same as the exec
    profile name. This mistake can not be exploited to grant extra permission
    because of the above flaw where the ONEXEC permission was not being mapped
    so it will not be granted.

    BugLink: http://bugs.launchpad.net/bugs/963756

    Signed-off-by: John Johansen
    Signed-off-by: James Morris

    John Johansen
     

14 Mar, 2012

1 commit


28 Feb, 2012

1 commit

  • The mapping of AA_MAY_META_READ for the allow mask was also being mapped
    to the audit and quiet masks. This would result in some operations being
    audited when the should not.

    This flaw was hidden by the previous audit bug which would drop some
    messages that where supposed to be audited.

    Signed-off-by: John Johansen
    Acked-by: Kees Cook

    John Johansen
     

02 Aug, 2010

1 commit

  • AppArmor does files enforcement via pathname matching. Matching is done
    at file open using a dfa match engine. Permission is against the final
    file object not parent directories, ie. the traversal of directories
    as part of the file match is implicitly allowed. In the case of nonexistant
    files (creation) permissions are checked against the target file not the
    directory. eg. In case of creating the file /dir/new, permissions are
    checked against the match /dir/new not against /dir/.

    The permissions for matches are currently stored in the dfa accept table,
    but this will change to allow for dfa reuse and also to allow for sharing
    of wider accept states.

    Signed-off-by: John Johansen
    Signed-off-by: James Morris

    John Johansen