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

Sebastian Reichel
2025-02-25T01:08:50Z

[-- Attachment #1: Type: text/plain, Size: 1339 bytes --]

Hi,

On Mon, Feb 24, 2025 at 12:59:49PM +0200, Andy Shevchenko wrote:
> On Mon, Feb 24, 2025 at 11:23:06AM +0800, Kaixin Wang wrote:
> > At 2024-09-18 20:07:50, "Kaixin Wang" <kxwang23@m.fudan.edu.cn> 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...

Indeed, but queued to hsi for-next now.

-- Sebastian

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]