# scsi:lpfc:使用memcpy()传输BIOS版本
## 漏洞概述
在Linux内核中,`scsi: lpfc`模块使用`strlcat()`时触发了错误的缓冲区溢出检测,导致系统瘫痪。通过使用`memcpy()`并确保目标缓冲区以NULL终止,解决了这个问题。
## 影响版本
未明确提及受影响的具体版本。
## 细节
`strlcat()`函数在启用FORTIFY支持时错误地认为目标缓冲区将会溢出,即使传入的缓冲区大小是正确的。原本使用`memset()`清零后再用`strlcat()`操作,现在改用`memcpy()`并将结果缓冲区以NULL终止。
## 影响
该问题导致系统在错误检测到缓冲区溢出时触发崩溃(panic)。`BIOSVersion`仅用于`lpfc_printf_log()`函数,需要一个正确的字符串。
# | POC 描述 | 源链接 | 神龙链接 |
---|
标题: scsi: lpfc: Use memcpy() for BIOS version - kernel/git/stable/linux.git - Linux kernel stable tree -- 🔗来源链接
标签:
神龙速读