# btrfs:修正在dev_args_match_device中的匹配错误
## 漏洞概述
在Linux内核中,btrfs文件系统存在一个漏洞,即`dev_args_match_device`函数中的匹配检查逻辑有误,可能导致错误地匹配设备。
## 影响版本
未明确指定版本,但漏洞由补丁 `562d7b1512f7` 引入。该补丁后版本可能存在该问题。
## 漏洞细节
- **错误触发**: 通过 `ioctl` 设置 `devid` 为 `(u64)-1` 时,会导致 `devid` 匹配被跳过,进而错误地匹配设备。
- **错误检测**: syzkaller 检测到如下断言失败:
```
assertion failed: (args->devid != (u64)-1) || args->missing, in fs/btrfs/volumes.c:6921
```
- **修复策略**: 应该通过检查 `args->missing` 的值来区分两种匹配场景,而不是检查 `args->devid` 和 `args->uuid` 是否为默认值。
## 影响
此漏洞可能导致设备的不正确匹配,进而可能引发一系列的文件系统错误或安全问题。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签:
标题: Making sure you're not a bot! -- 🔗来源链接
标签: