[apparmor] [PATCH v2 4/4] apparmor: force auditing of conflicting attachment execs from confined

Ryan Lee ryan.lee at canonical.com
Mon Jun 23 21:59:41 UTC 2025


On Sun, Jun 22, 2025 at 3:00 PM John Johansen
<john.johansen at canonical.com> wrote:
>
> On 6/13/25 09:32, Ryan Lee wrote:
> > Conflicting attachment paths are an error state that result in the
> > binary in question executing under an unexpected ix/ux fallback. As such,
> > it should be audited to record the occurrence of conflicting attachments.
> >
> > Signed-off-by: Ryan Lee <ryan.lee at canonical.com>
>
> Ryan,
> your original patch made it into apparmor-next for the 6.16 that never
> happened.
>
> Ideally we wouldn't rebase for this. Can you apply this to apparmor-next
> and send it as a
>
> Fixes: 16916b17b4f8 ("apparmor: force auditing of conflicting attachment execs from confined")
> patch
>

Follow-up has been sent as
https://lists.ubuntu.com/archives/apparmor/2025-June/013705.html.

>
> > ---
> >
> > This is a v2 of https://lists.ubuntu.com/archives/apparmor/2025-May/013613.html.
> >
> > v1 -> v2: remove redundant perms.allow |= MAY_EXEC (which was also incorrectly outside of the intended conditional)
> >   security/apparmor/domain.c | 7 +++++++
> >   1 file changed, 7 insertions(+)
> >
> > diff --git a/security/apparmor/domain.c b/security/apparmor/domain.c
> > index e8cd9badfb54..b33ce6be9427 100644
> > --- a/security/apparmor/domain.c
> > +++ b/security/apparmor/domain.c
> > @@ -724,6 +724,14 @@ static struct aa_label *profile_transition(const struct cred *subj_cred,
> > @@ -727,6 +727,16 @@ static struct aa_label *profile_transition(const struct cred *subj_cred,
> >               new = x_to_label(profile, bprm, name, perms.xindex, &target,
> >                                &info);
> >               if (new && new->proxy == profile->label.proxy && info) {
> > +                     /* Force audit on conflicting attachment fallback
> > +                      * Because perms is never used again after this audit
> > +                      * we don't need to care about clobbering it
> > +                      *
> > +                      * Because perms.allow MAY_EXEC bit is already set
> > +                      * we don't have to set it again
> > +                      */
> > +                     if (info == CONFLICTING_ATTACH_STR_IX
> > +                        || info == CONFLICTING_ATTACH_STR_UX)
> > +                             perms.audit |= MAY_EXEC;
> >                       /* hack ix fallback - improve how this is detected */
> >                       goto audit;
> >               } else if (!new) {
>



More information about the AppArmor mailing list