[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZugK8hXvMaMEaOsz@smile.fi.intel.com>
Date: Mon, 16 Sep 2024 13:39:46 +0300
From: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
To: Kaixin Wang <kxwang23@...udan.edu.cn>
Cc: sre@...nel.org, rdunlap@...radead.org, linux-kernel@...r.kernel.org,
21210240012@...udan.edu.cn, 21302010073@...udan.edu.cn
Subject: Re: [PATCH v2] HSI: ssi_protocol: Fix use after free vulnerability
in ssi_protocol Driver Due to Race Condition
On Sun, Sep 15, 2024 at 01:21:43AM +0800, Kaixin Wang wrote:
> In the ssi_protocol_probe function, &ssi->work is bound with
> ssip_xmit_work, In ssip_pn_setup, the ssip_pn_xmit function
> within the ssip_pn_ops structure is capable of starting the
> work.
We refer to the functions as func(). E.g., ssip_pn_setup(),
ssip_pn_xmit().
> If we remove the module which will call ssi_protocol_remove
> to make a cleanup, it will free ssi through kfree(ssi),
> while the work mentioned above will be used. The sequence
> of operations that may lead to a UAF bug is as follows:
>
> CPU0 CPU1
>
> | ssip_xmit_work
> ssi_protocol_remove |
> kfree(ssi); |
> | struct hsi_client *cl = ssi->cl;
> | // use ssi
>
> Fix it by ensuring that the work is canceled before proceeding
> with the cleanup in ssi_protocol_remove.
Same here.
...
> Acked-by: Andy Shevchenko <andriy.shevchenko@...ux.intel.com>
> - add the Acked-by label from Andy
Not that Ack was given to _this_ version of the change (it has been changed
a lot), but I'm fine with keeping it.
--
With Best Regards,
Andy Shevchenko
Powered by blists - more mailing lists