Re: [PATCH 2/2] AppArmor: Fix lsm_get_self_attr()

From: Paul Moore
Date: Fri Feb 23 2024 - 16:07:47 EST


On Fri, Feb 23, 2024 at 2:06 PM Mickaël Salaün <mic@xxxxxxxxxxx> wrote:
>
> aa_getprocattr() may not initialize the value's pointer in some case.
> As for proc_pid_attr_read(), initialize this pointer to NULL in
> apparmor_getselfattr() to avoid an UAF in the kfree() call.
>
> Cc: Casey Schaufler <casey@xxxxxxxxxxxxxxxx>
> Cc: John Johansen <john.johansen@xxxxxxxxxxxxx>
> Cc: Paul Moore <paul@xxxxxxxxxxxxxx>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: 223981db9baf ("AppArmor: Add selfattr hooks")
> Signed-off-by: Mickaël Salaün <mic@xxxxxxxxxxx>
> ---
> security/apparmor/lsm.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

If you like John, I can send this up to Linus with the related SELinux
fix, I would just need an ACK from you.

> diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
> index 98e1150bee9d..9a3dcaafb5b1 100644
> --- a/security/apparmor/lsm.c
> +++ b/security/apparmor/lsm.c
> @@ -784,7 +784,7 @@ static int apparmor_getselfattr(unsigned int attr, struct lsm_ctx __user *lx,
> int error = -ENOENT;
> struct aa_task_ctx *ctx = task_ctx(current);
> struct aa_label *label = NULL;
> - char *value;
> + char *value = NULL;
>
> switch (attr) {
> case LSM_ATTR_CURRENT:
> --
> 2.43.0

--
paul-moore.com