# HSI:ssi_protocol :修复由于Race Condition导致的ssi_protocol驱动程序中的使用已释放内存的漏洞
## 漏洞概述
在Linux内核的ssi_protocol驱动中,由于竞态条件导致了使用已释放内存的漏洞(Use after free)。
## 影响版本
未具体列出受影响的版本号。不过此问题存在于`ssi_protocol_probe()`函数和`ssi_protocol_remove()`函数之间。
## 漏洞细节
在`ssi_protocol_probe()`函数中,`&ssi->work`与`ssip_xmit_work()`绑定。在`ssip_pn_setup()`函数内,`ssip_pn_ops`结构体中的`ssip_pn_xmit`函数能够启动工作队列。
当移除模块时会调用 `ssi_protocol_remove()` 函数进行清理操作,并通过 `kfree(ssi)` 释放 `ssi`。然而,在此期间之前启动的工作队列仍在运行,会造成使用已释放内存的情况。具体步骤描述如下:
```
CPU0 CPU1
| ssip_xmit_work
ssi_protocol_remove |
kfree(ssi); |
| struct hsi_client *cl = ssi->cl;
| // use ssi
```
## 解决方案
通过在 `ssi_protocol_remove()` 函数清理之前确保取消工作队列,可以修复此漏洞。
## 影响
该漏洞可能导致系统不稳定或安全风险,具体取决于攻击者利用的方式。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: 503 Service Temporarily Unavailable -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: HSI: ssi_protocol: Fix use after free vulnerability in ssi_protocol Driver Due to Race Condition - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签: