漏洞信息
# net: rose: 'use' 字段转为 refcount_t
## 概述
Linux 内核中 `rose` 网络协议的 `struct rose_neigh` 结构中的 `use` 字段原本用作引用计数器,但未保证原子性,可能导致竞争条件。
## 影响版本
未明确指出具体受影响的内核版本,但问题存在于补丁应用前的 Linux 内核中。
## 细节
- `struct rose_neigh` 中的 `use` 字段类型为 `unsigned short`,用作引用计数,但缺乏原子操作保护。
- 在例如 `rose_rt_ioctl()` 的 ioctl 操作中,当 `use` 计数变为 0 时,`rose_neigh` 结构可能被释放,但其关联的定时器仍可能处于活动状态。
- 这可能导致 **use-after-free** 漏洞,进而引发内存破坏或系统崩溃。
## 影响
此漏洞可能造成以下后果:
- **竞争条件**:多个代码路径并发访问 `rose_neigh` 结构时可能发生。
- **Use-after-free**:结构体在仍被引用时被释放,可能导致系统崩溃或潜在的权限提升攻击。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
net: rose: convert 'use' field to refcount_t
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
net: rose: convert 'use' field to refcount_t
The 'use' field in struct rose_neigh is used as a reference counter but
lacks atomicity. This can lead to race conditions where a rose_neigh
structure is freed while still being referenced by other code paths.
For example, when rose_neigh->use becomes zero during an ioctl operation
via rose_rt_ioctl(), the structure may be removed while its timer is
still active, potentially causing use-after-free issues.
This patch changes the type of 'use' from unsigned short to refcount_t and
updates all code paths to use rose_neigh_hold() and rose_neigh_put() which
operate reference counts atomically.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于rose_neigh结构的use字段缺乏原子性,可能导致释放后重用问题。
CVSS信息
N/A
漏洞类别
其他