lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ