NVD Recent CVEs
CVE-2026-64320:Linux内核已修复以下漏洞:nvmet:修复Discovery Get Log Page中的预身份验证堆越界读取
Linux内核已修复以下漏洞:nvmet:修复Discovery Get Log Page中的预身份验证堆越界读取。nvmet_execute_disc_get_log_page()仅验证主机提供的Log Page Offset(lpo)的双字对齐。随后,这个64位偏移会被添加到一个用于存储发现日志页的小型kzalloc分配缓冲区中,结果直接传递给nvmet_copy_to_sgl(),该函数会将data_len字节的数据memcpy到主机,而不进行源端边界检查:u64 offset = nvmet_get_log_page_offset(req->cmd); /* 64位主机 */ size_t data_len = nvmet_get_log_page_len(req->cmd); /* 32位主机 */ ... if (offset & 0x3) { ... } /* 仅有的检查 */ ... alloc_len = sizeof(*hdr) + entry_size * discovery_log_entries(req); buffer = kzalloc(alloc_len, GFP_KERNEL); ... status = nvmet_copy_to_sgl(req, 0, buffer + offset, data_len);。Discovery控制器无需身份验证——对于发现子系统,nvmet_host_allowed()会无条件返回true——因此任何能够访问nvmet目标的TCP/RDMA/FC对等方都可以在身份验证前发起该调用。对于约1 KiB的发现日志页,攻击者请求从offset == alloc_len开始最多4 KiB的数据,即可读取下一个slab页并通过网络获取其内容(在默认nvmet-tcp环回目标上的实测运行中,一次Get Log Page响应就泄露了81个规范内核指针)。将offset指向