# xfrm_alloc_spi不应使用0作为SPI
## 概述
Linux内核中发现一个漏洞,涉及`xfrm_alloc_spi`函数错误地使用`0`作为SPI(Security Parameter Index)值。此问题可能导致内存访问错误(UAF,Use-After-Free)。
## 影响版本
受影响版本包括引入提交 **94f39804d891**(“xfrm: Duplicate SPI Handling”)之后的Linux内核版本。
## 漏洞细节
- `x->id.spi == 0` 通常表示“未分配SPI”。
- 自引入重复SPI处理功能后,系统会以SPI为`0`创建状态并将其加入`byspi`列表。
- 在状态删除时,`__xfrm_state_delete` 函数并未将这些SPI为`0`的状态从 `byspi` 列表中移除。
- 导致后续遍历 `byspi` 列表时可能出现已释放内存的访问(UAF)。
## 影响
该漏洞可能导致内核在处理IPsec安全策略时触发UAF错误,从而引发系统崩溃或潜在的安全风险。
                                        
                                    
                                | # | POC 描述 | 源链接 | 神龙链接 | 
|---|---|---|---|
| 1 | PoC for CVE-2025-39965 | https://github.com/Shreyas-Penkar/CVE-2025-39965 | POC详情 | 
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
暂无评论