CVE-2026-99264 in Linux信息

摘要

由 VulDB • 2026-11-03

在 Linux 内核中,已修复以下漏洞:

io_uring/net: 不要在未提交的缓冲区上重试 recv

提交 41b70df5b38b(“io_uring/net: 在重试时提交部分缓冲区”)会在接收操作因部分传输而需要重试时,提交由 ring 提供的缓冲区,从而防止使用相同缓冲区的另一个请求获取第一个请求仍在写入的内存。该提交会记录到目前为止已接收的字节数。这对于作为整体消耗的单个缓冲区来说可以正常工作,但请求仍保留其映射的所有内容:

- 对于仅具有 IOU_PBUF_RING_INC 标志的缓冲区环(buffer ring),只有这些字节被消耗。缓冲区的其余部分仍位于环的头部。 - 对于捆绑包(bundle),仅消耗包含这些字节的缓冲区,其他被窥视(peeked)的缓冲区则保留在环中。

在这两种情况下,使用该缓冲区组的下一次接收操作都会获取到重试请求仍在写入的内存,而最后到达的请求会覆盖另一个请求的数据。重试所填充的内容完全没有提交,因为此时已不再知道缓冲区列表。因此,内核会在稍后再次分发该内存,同时完成队列条目(CQE)告知应用程序它已被使用,并且对于增量式缓冲区而言,表示其已完成处理。

剩余部分无法提前提交:如果最终接收到的数据较少,则没有办法告诉应用程序实际消耗的字节数多于 CQE 所记录的数值。因此,应以当前已获取的数据完成请求,而不是重试该请求。MSG_WAITALL 标志不再适用于向增量式缓冲区或多缓冲区捆绑包进行的接收操作;它们可以返回较短的计数值,并将请求标记为失败,这与其他短 MSG_WAITALL 传输的处理方式相同。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

来源

Want to stay up to date on a daily basis?

Enable the mail alert feature now!