mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: John Johansen <john.johansen@canonical.com>
Cc: Ryan Lee <ryan.lee@canonical.com>,
	Wentao Liang <vulab@iscas.ac.cn>,
	apparmor@lists.ubuntu.com, jmorris@namei.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org, paul@paul-moore.com,
	serge@hallyn.com, stable@vger.kernel.org
Subject: Re: [PATCH] apparmor: Fix label reference leak in aa_unix_file_perm()
Date: Fri, 18 Sep 2026 09:24:38 +0100	[thread overview]
Message-ID: <2026091851-recent-ungraded-23eb@gregkh> (raw)
In-Reply-To: <760b1f31-32f6-44c6-8a5b-991f228a327f@canonical.com>

On Thu, Sep 17, 2026 at 01:18:20PM -0700, John Johansen wrote:
> On 9/17/26 12:19, Ryan Lee wrote:
> > On Thu, Sep 17, 2026 at 11:59 AM Wentao Liang <vulab@iscas.ac.cn> wrote:
> > > 
> > > The inner block in aa_unix_file_perm() re-declares plabel, shadowing the
> > > outer variable that is released at the out label. The reference taken by
> > > aa_get_label_rcu() is thus lost when the block exits, and aa_put_label()
> > > at out is a no-op on the still NULL outer plabel, leaking one label per
> > > permission check on a non-filesystem unix socket.
> > > 
> > > Drop the shadowing declaration so the outer plabel is used and released.
> > > 
> > > Fixes: 88fec3526e84 ("apparmor: make sure unix socket labeling is correctly updated.")
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
> > > ---
> > >   security/apparmor/af_unix.c | 1 -
> > >   1 file changed, 1 deletion(-)
> > > 
> > > diff --git a/security/apparmor/af_unix.c b/security/apparmor/af_unix.c
> > > index fdb4a9f212c3..ecb40cfe7e14 100644
> > > --- a/security/apparmor/af_unix.c
> > > +++ b/security/apparmor/af_unix.c
> > > @@ -758,7 +758,6 @@ int aa_unix_file_perm(const struct cred *subj_cred, struct aa_label *label,
> > >                             unix_fs_perm(op, request, subj_cred, label,
> > >                                          is_unix_fs(peer_sk) ? &peer_path : NULL));
> > >          } else if (!is_sk_fs) {
> > > -               struct aa_label *plabel;
> > >                  struct aa_sk_ctx *pctx = aa_sock(peer_sk);
> > > 
> > >                  rcu_read_lock();
> > > --
> > > 2.34.1
> > > 
> > > 
> > 
> > NACK: this exact patch has been proposed before, and unfortunately
> > exposes an additional latent bug around plabel handling that results
> > in a use-after-free if the shadowed declaration is removed without
> > additional fixes.
> > 
> > I can try to dig out the relevant exchange from the AppArmor mailing
> > list later, if you'd be interested.
> > 
> The series Ryan is referring to is in Linus's tree, so you should see the
> fix rolling out to stable kernels as well soon.
> 
> 6d25e7b47616c apparmor: fix refcount leak when updating the sk_ctx
> b1aea2c196077 apparmor: fix race in unix socket mediation when peer_path is used
> 4483efe4f2151 apparmor: fix shadowing of plabel that prevents cache from being updated

These are all in stable released kernels already for many weeks, so how
is any of this still being reported?

confused,

greg k-h

  reply	other threads:[~2026-09-18  8:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-17 16:41 Wentao Liang
2026-09-17 19:19 ` Ryan Lee
2026-09-17 20:18   ` John Johansen
2026-09-18  8:24     ` Greg KH [this message]
2026-09-18  9:00       ` John Johansen

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=2026091851-recent-ungraded-23eb@gregkh \
    --to=greg@kroah.com \
    --cc=apparmor@lists.ubuntu.com \
    --cc=jmorris@namei.org \
    --cc=john.johansen@canonical.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=paul@paul-moore.com \
    --cc=ryan.lee@canonical.com \
    --cc=serge@hallyn.com \
    --cc=stable@vger.kernel.org \
    --cc=vulab@iscas.ac.cn \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®