CVE-2024-41098

ata: libata-core: Fix null pointer dereference on error

MEDIUM
5.5
CVSS Score
Published: July 29, 2024 at 03:48 PM UTC
Updated: June 17, 2026 at 07:47 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: ata: libata-core: Fix null pointer dereference on error If the ata_port_alloc() call in ata_host_alloc() fails, ata_host_release() will get called. However, the code in ata_host_release() tries to free ata_port struct members unconditionally, which can lead to the following: BUG: unable to handle page fault for address: 0000000000003990 PGD 0 P4D 0 Oops: Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 10 PID: 594 Comm: (udev-worker) Not tainted 6.10.0-rc5 #44 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-2.fc40 04/01/2014 RIP: 0010:ata_host_release.cold+0x2f/0x6e [libata] Code: e4 4d 63 f4 44 89 e2 48 c7 c6 90 ad 32 c0 48 c7 c7 d0 70 33 c0 49 83 c6 0e 41 RSP: 0018:ffffc90000ebb968 EFLAGS: 00010246 RAX: 0000000000000041 RBX: ffff88810fb52e78 RCX: 0000000000000000 RDX: 0000000000000000 RSI: ffff88813b3218c0 RDI: ffff88813b3218c0 RBP: ffff88810fb52e40 R08: 0000000000000000 R09: 6c65725f74736f68 R10: ffffc90000ebb738 R11: 73692033203a746e R12: 0000000000000004 R13: 0000000000000000 R14: 0000000000000011 R15: 0000000000000006 FS: 00007f6cc55b9980(0000) GS:ffff88813b300000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000003990 CR3: 00000001122a2000 CR4: 0000000000750ef0 PKRU: 55555554 Call Trace: <TASK> ? __die_body.cold+0x19/0x27 ? page_fault_oops+0x15a/0x2f0 ? exc_page_fault+0x7e/0x180 ? asm_exc_page_fault+0x26/0x30 ? ata_host_release.cold+0x2f/0x6e [libata] ? ata_host_release.cold+0x2f/0x6e [libata] release_nodes+0x35/0xb0 devres_release_group+0x113/0x140 ata_host_alloc+0xed/0x120 [libata] ata_host_alloc_pinfo+0x14/0xa0 [libata] ahci_init_one+0x6c9/0xd20 [ahci] Do not access ata_port struct members unconditionally.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

2.6.24 ≤ v < 4.19.3212.6.24 ≤ v < 5.10.2252.6.24 ≤ v < 5.15.1662.6.24 ≤ v < 5.4.2832.6.24 ≤ v < 6.1.1082.6.24 ≤ v < 6.102.6.24 ≤ v < 6.6.372.6.24 ≤ v < 6.9.86.7 ≤ v < 6.9.82.6.24633273a3ed1cf37ced90475b0f95cf81deab04f1
Vendor states this is fixed in 0f0d37c154bb108730c90a91aa31e3170e827962 (fixed)
Vendor states this is fixed in 119c97ace2a9ffcf4dc09a23bb057d6c281aff28 (fixed)
Vendor states this is fixed in 221e3b1297e74fdec32d0f572f4dcb2260a0a2af (fixed)
Vendor states this is fixed in 56e62977eaaae3eb7122ee2cf9b720b6703114a9 (fixed)
Vendor states this is fixed in 5d92c7c566dc76d96e0e19e481d926bbe6631c1e (fixed)
Vendor states this is fixed in 8a8ff7e3b736a70d7b7c8764cbcd2724d4079ec8 (fixed)
Vendor states this is fixed in d9c4df80b1b009de1eb77c07e3bb4d45bd212aa5 (fixed)
Vendor states this is fixed in e83405e75d90694ee6a5d898f7f0473ac2686054 (fixed)
Vendor states this is fixed in 2.6.24 (unaffected)
Vendor states this is fixed in 4.19.321 (unaffected)
Vendor states this is fixed in 5.10.225 (unaffected)
Vendor states this is fixed in 5.15.166 (unaffected)
Vendor states this is fixed in 5.4.283 (unaffected)
Vendor states this is fixed in 6.1.108 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.37 (unaffected)
Vendor states this is fixed in 6.9.8 (unaffected)

References (10)

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card