漏洞信息
# 9P USB传输层缓冲区溢出漏洞
## 概述
在 Linux 内核的 `net/9p` 子系统中发现了一个缓冲区溢出漏洞,问题位于 USB 9p 文件系统传输层。
## 影响版本
此漏洞影响包含 `9p` USB 传输支持的 Linux 内核版本。修复通过在接收完成函数中追加验证机制实现。
## 漏洞细节
漏洞成因如下:
- **header验证不足**:`usb9pfs_rx_header()` 仅根据包头中声明的大小进行验证,
- **数据拷贝使用实际大小**:实际拷贝时,`usb9pfs_rx_complete()` 使用 `req->actual`(实际收到的字节数)作为拷贝长度,
- 攻击者可构造一个**包头声明大小较小但实际数据较大**的包,
- 这样即可绕过头信息验证阶段,
- 却在 `memcpy` 拷贝时溢出目标堆缓冲区。
## 影响
此漏洞可使恶意 USB 主机执行远程代码或导致系统崩溃,构成严重的安全威胁。攻击者可通过构造精心设计的数据包触发堆缓冲区溢出。
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
net/9p: Fix buffer overflow in USB transport layer
漏洞描述信息
In the Linux kernel, the following vulnerability has been resolved:
net/9p: Fix buffer overflow in USB transport layer
A buffer overflow vulnerability exists in the USB 9pfs transport layer
where inconsistent size validation between packet header parsing and
actual data copying allows a malicious USB host to overflow heap buffers.
The issue occurs because:
- usb9pfs_rx_header() validates only the declared size in packet header
- usb9pfs_rx_complete() uses req->actual (actual received bytes) for
memcpy
This allows an attacker to craft packets with small declared size
(bypassing validation) but large actual payload (triggering overflow
in memcpy).
Add validation in usb9pfs_rx_complete() to ensure req->actual does not
exceed the buffer capacity before copying data.
CVSS信息
N/A
漏洞类别
N/A
漏洞标题
Linux kernel 安全漏洞
漏洞描述信息
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于USB 9pfs传输层中数据包头解析和实际数据复制之间的不一致大小验证,可能导致堆缓冲区溢出。
CVSS信息
N/A
漏洞类别
其他