CVE-2026-43200Linux内核的PCI端点子系统中存在参数交换漏洞。在`pci_primary_epc_epf_unlink()`和`pci_secondary_epc_epf_unlink()`函数中,参数顺序与`configfs_item_operations`回调定义不一致。当本地低权限用户在configfs中执行unlink命令时,会触发内核空指针解引用或内存访问错误,导致系统崩溃(拒绝服务)。
该漏洞源于Linux内核PCI端点驱动代码中的逻辑错误。具体而言,`struct configfs_item_operations` 的 `drop_link` 回调函数原型定义为 `void (*drop_link)(struct config_item *src, struct config_item *target)`。然而,在实现 `pci_primary_epc_epf_unlink()` 和 `pci_secondary_epc_epf_unlink()` 时,开发者错误地颠倒了 `src` 和 `target` 参数的传入顺序。当用户通过configfs接口尝试断开EPC与EPF的链接时,函数会接收到错误的指针。这些错误的指针随后被传递给底层的字符串处理函数(如 `vsnprintf`),导致无法处理的内核页错误。这进而引发内核崩溃,造成系统拒绝服务。攻击者需具备本地低权限(PR:L)即可触发此漏洞。