Paper/Archive/CVE-2024-45013

CVE-2024-45013

Linux Linux — nvme: move stopping keep-alive into nvme_uninit_ctrl()

Description · from the CVE record

In the Linux kernel, the following vulnerability has been resolved: nvme: move stopping keep-alive into nvme_uninit_ctrl() Commit 4733b65d82bd ("nvme: start keep-alive after admin queue setup") moves starting keep-alive from nvme_start_ctrl() into nvme_init_ctrl_finish(), but don't move stopping keep-alive into nvme_uninit_ctrl(), so keep-alive work can be started and keep pending after failing to start controller, finally use-after-free is triggered if nvme host driver is unloaded. This patch fixes kernel panic when running nvme/004 in case that connection failure is triggered, by moving stopping keep-alive into nvme_uninit_ctrl(). This way is reasonable because keep-alive is now started in nvme_init_ctrl_finish().

Affected

ProductAffectedFixed inSource
Linux3af755a46881c32fecaecfdeaf3a8f0a869deca5 – < 4101af98ab573554c4225e328d506fec2a74bc544101af98ab573554c4225e328d506fec2a74bc54CNA
Linux3af755a46881c32fecaecfdeaf3a8f0a869deca5 – < a54a93d0e3599b05856971734e15418ac551a14ca54a93d0e3599b05856971734e15418ac551a14cCNA
Linux6.76.10.7CNA

Scores by source

Linux (CNA)9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA ADPSSVCExploitation: none · Automatable: no · Technical impact: partial

References

refgit.kernel.org/stable/c/4101af98ab573554c4225e328d506fec2a74bc54refgit.kernel.org/stable/c/a54a93d0e3599b05856971734e15418ac551a14c