CVE-2024-41087
"QEMU ATA Host Allocation Double Free Vulnerability"
Description
In the Linux kernel, the following vulnerability has been resolved: ata: libata-core: Fix double free on error If e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump to the err_out label, which will call devres_release_group(). devres_release_group() will trigger a call to ata_host_release(). ata_host_release() calls kfree(host), so executing the kfree(host) in ata_host_alloc() will lead to a double free: kernel BUG at mm/slub.c:553! Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:kfree+0x2cf/0x2f0 Code: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da RSP: 0018:ffffc90000f377f0 EFLAGS: 00010246 RAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320 RDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0 RBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000 R10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780 R13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006 FS: 00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> ? __die_body.cold+0x19/0x27 ? die+0x2e/0x50 ? do_trap+0xca/0x110 ? do_error_trap+0x6a/0x90 ? kfree+0x2cf/0x2f0 ? exc_invalid_op+0x50/0x70 ? kfree+0x2cf/0x2f0 ? asm_exc_invalid_op+0x1a/0x20 ? ata_host_alloc+0xf5/0x120 [libata] ? ata_host_alloc+0xf5/0x120 [libata] ? kfree+0x2cf/0x2f0 ata_host_alloc+0xf5/0x120 [libata] ata_host_alloc_pinfo+0x14/0xa0 [libata] ahci_init_one+0x6c9/0xd20 [ahci] Ensure that we will not call kfree(host) twice, by performing the kfree() only if the devres_open_group() call failed.
INFO
Published Date :
July 29, 2024, 4:15 p.m.
Last Modified :
Nov. 21, 2024, 9:32 a.m.
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remotely Exploitable :
No
Impact Score :
5.9
Exploitability Score :
1.8
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2024-41087
.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2024-41087
vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2024-41087
vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
CVE Modified by af854a3a-2127-422b-91ae-364da2661108
Nov. 21, 2024
Action Type Old Value New Value Added Reference https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe Added Reference https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3 Added Reference https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2 Added Reference https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f Added Reference https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047 Added Reference https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5 Added Reference https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76 Added Reference https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d -
Initial Analysis by [email protected]
Aug. 08, 2024
Action Type Old Value New Value Added CVSS V3.1 NIST AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H Changed Reference Type https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe No Types Assigned https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe Patch Changed Reference Type https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3 No Types Assigned https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3 Patch Changed Reference Type https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2 No Types Assigned https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2 Patch Changed Reference Type https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f No Types Assigned https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f Patch Changed Reference Type https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047 No Types Assigned https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047 Patch Changed Reference Type https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5 No Types Assigned https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5 Patch Changed Reference Type https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76 No Types Assigned https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76 Patch Changed Reference Type https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d No Types Assigned https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d Patch Added CWE NIST CWE-415 Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.17 up to (excluding) 4.19.317 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 4.20 up to (excluding) 5.4.279 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.5 up to (excluding) 5.10.221 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.162 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.97 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.37 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.9.8 -
CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 29, 2024
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: ata: libata-core: Fix double free on error If e.g. the ata_port_alloc() call in ata_host_alloc() fails, we will jump to the err_out label, which will call devres_release_group(). devres_release_group() will trigger a call to ata_host_release(). ata_host_release() calls kfree(host), so executing the kfree(host) in ata_host_alloc() will lead to a double free: kernel BUG at mm/slub.c:553! Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 11 PID: 599 Comm: (udev-worker) Not tainted 6.10.0-rc5 #47 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:kfree+0x2cf/0x2f0 Code: 5d 41 5e 41 5f 5d e9 80 d6 ff ff 4d 89 f1 41 b8 01 00 00 00 48 89 d9 48 89 da RSP: 0018:ffffc90000f377f0 EFLAGS: 00010246 RAX: ffff888112b1f2c0 RBX: ffff888112b1f2c0 RCX: ffff888112b1f320 RDX: 000000000000400b RSI: ffffffffc02c9de5 RDI: ffff888112b1f2c0 RBP: ffffc90000f37830 R08: 0000000000000000 R09: 0000000000000000 R10: ffffc90000f37610 R11: 617461203a736b6e R12: ffffea00044ac780 R13: ffff888100046400 R14: ffffffffc02c9de5 R15: 0000000000000006 FS: 00007f2f1cabe980(0000) GS:ffff88813b380000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f2f1c3acf75 CR3: 0000000111724000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> ? __die_body.cold+0x19/0x27 ? die+0x2e/0x50 ? do_trap+0xca/0x110 ? do_error_trap+0x6a/0x90 ? kfree+0x2cf/0x2f0 ? exc_invalid_op+0x50/0x70 ? kfree+0x2cf/0x2f0 ? asm_exc_invalid_op+0x1a/0x20 ? ata_host_alloc+0xf5/0x120 [libata] ? ata_host_alloc+0xf5/0x120 [libata] ? kfree+0x2cf/0x2f0 ata_host_alloc+0xf5/0x120 [libata] ata_host_alloc_pinfo+0x14/0xa0 [libata] ahci_init_one+0x6c9/0xd20 [ahci] Ensure that we will not call kfree(host) twice, by performing the kfree() only if the devres_open_group() call failed. Added Reference kernel.org https://git.kernel.org/stable/c/290073b2b557e4dc21ee74a1e403d9ae79e393a2 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/56f1c7e290cd6c69c948fcd2e2a49e6a637ec38f [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/010de9acbea58fbcbda08e3793d6262086a493fe [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/5dde5f8b790274723640d29a07c5a97d57d62047 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/702c1edbafb2e6f9d20f6d391273b5be09d366a5 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/062e256516d7db5e7dcdef117f52025cd5c456e3 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/8106da4d88bbaed809e023cc8014b766223d6e76 [No types assigned] Added Reference kernel.org https://git.kernel.org/stable/c/ab9e0c529eb7cafebdd31fe1644524e80a48b05d [No types assigned]
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2024-41087
is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2024-41087
weaknesses.