Re: [PATCH v3] HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition

From: Andy Shevchenko
Date: Mon Feb 24 2025 - 06:00:01 EST


On Mon, Feb 24, 2025 at 11:23:06AM +0800, Kaixin Wang wrote:
> At 2024-09-18 20:07:50, "Kaixin Wang" <kxwang23@xxxxxxxxxxxxxx> 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.
> >
> >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().

...

> Hi, I noticed that there are no relevant replies to this patch that I sent
> several months ago. Is it missed?

Seems like fell into cracks...

--
With Best Regards,
Andy Shevchenko