关键漏洞信息 漏洞标识: CVE-2021-34693 漏洞类型: Infoleak in CAN BCM protocol 影响范围: Linux kernels from version 2.6.25-rc1 to 5.12.10 漏洞描述: 信息泄露存在于 结构中,该结构用于描述 CAN BCM 消息。 由于自动引入的填充,结构中包含一个未初始化的 4 字节洞。 该洞包含内核栈上的数据,结构在栈上分配时,会导致内核地址部分或全部泄露。 64 位系统:4 字节洞位于 和 成员之间。 32 位系统:4 字节洞位于 和 成员之间。 可以通过 CAN BCM 消息接收器结构的 接收到未初始化的字节,从而泄露数据。 触发方式: 1. 打开并连接一个 CAN BCM socket。 2. 使用 函数带 RX_SETUP 消息设置 CAN BCM 消息接收。 3. 接收的消息包含结构 并在接收队列中排队。 4. 使用 函数接收消息,最终将未初始化的字节泄露到用户空间。 PoC: 可在附件或以下链接中找到详细的修补程序和证明概念 (PoC) 程序: - Lore.kernel.org - GitHub PoC 发现者: Norbert Slusarek 和 Patrick Menschel