# ksmbd: smb2_set_ea() EA缓冲区长度验证错误
## 概述
在 Linux 内核的 ksmbd 模块中,存在一个关于 EA(扩展属性)缓冲区长度验证的错误。该问题已在修复版本中解决。
## 影响版本
受影响的组件为 `ksmbd`,涉及处理 `FILE_FULL_EA_INFORMATION` 请求时的 `smb2_set_ea()` 函数。
## 细节
在处理客户端发送的 FILE_FULL_EA_INFORMATION 请求时,ksmbd 遍历多个 `smb2_ea_info` 缓冲区。遍历过程中通过 `->NextEntryOffset` 字段定位下一个 `smb2_ea_info` 的位置。
问题在于:ksmbd 在访问下一个 EA 条目前未正确验证剩余缓冲区长度。当前实现中错误地使用了 `next`(表示当前 EA 条目的起始偏移)来验证边界,而非使用 `buf_len`(代表整个缓冲区的长度)来进行有效验证。
## 影响
此漏洞可能导致无效内存访问,包括越界读取或写入,从而引发系统崩溃或潜在的安全风险。
# | POC 描述 | 源链接 | 神龙链接 |
---|
暂无评论