CVE-2024-44976: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: ata: pata_macio: Fix DMA table overflow Kolbjørn and Jonáš reported that their 32-bit PowerMacs were crashing in pata-macio since commit 09fe2bfa6b83 ("ata: pata_macio: Fix max_segment_size with PAGE_SIZE == 64K"). For example: kernel BUG at drivers/ata/pata_macio.c:544! Oops: Exception in kernel mode, sig: 5 [#1] BE PAGE_SIZE=4K MMU=Hash SMP NR_CPUS=2 DEBUG_PAGEALLOC PowerMac ... NIP pata_macio_qc_prep+0xf4/0x190 LR pata_macio_qc_prep+0xfc/0x190 Call Trace: 0xc1421660 (unreliable) ata_qc_issue+0x14c/0x2d4 __ata_scsi_queuecmd+0x200/0x53c ata_scsi_queuecmd+0x50/0xe0 scsi_queue_rq+0x788/0xb1c __blk_mq_issue_directly+0x58/0xf4 blk_mq_plug_issue_direct+0x8c/0x1b4 blk_mq_flush_plug_list.part.0+0x584/0x5e0 __blk_flush_plug+0xf8/0x194 __submit_bio+0x1b8/0x2e0 submit_bio_noacct_nocheck+0x230/0x304 btrfs_work_helper+0x200/0x338 process_one_work+0x1a8/0x338 worker_thread+0x364/0x4c0 kthread+0x100/0x104 start_kernel_thread+0x10/0x14 That commit increased max_segment_size to 64KB, with the justification that the SCSI core was already using that size when PAGE_SIZE == 64KB, and that there was existing logic to split over-sized requests. However with a sufficiently large request, the splitting logic causes each sg to be split into two commands in the DMA table, leading to overflow of the DMA table, triggering the BUG_ON(). With default settings the bug doesn't trigger, because the request size is limited by max_sectors_kb == 1280, however max_sectors_kb can be increased, and apparently some distros do that by default using udev rules. Fix the bug for 4KB kernels by reverting to the old max_segment_size. For 64KB kernels the sg_tablesize needs to be halved, to allow for the possibility that each sg will be split into two.
AI Analysis
Technical Summary
CVE-2024-44976 is a vulnerability in the Linux kernel's ATA driver for PowerMac systems, specifically in the pata_macio driver responsible for handling Parallel ATA interfaces on certain Apple hardware. The issue arises from a DMA (Direct Memory Access) table overflow caused by an incorrect handling of scatter-gather (sg) lists when the max_segment_size was increased to 64KB in a recent kernel commit (09fe2bfa6b83). This change was intended to align with the SCSI core's use of 64KB segments when PAGE_SIZE equals 64KB. However, the splitting logic for oversized requests can cause each scatter-gather entry to be split into two commands, doubling the entries in the DMA table and leading to an overflow. This overflow triggers a kernel BUG_ON() assertion, causing a kernel panic and system crash. The bug is particularly triggered when max_sectors_kb is increased beyond the default 1280 sectors, which some Linux distributions do via udev rules. The vulnerability primarily affects 32-bit PowerMac systems running Linux kernels with the problematic commit. The fix involves reverting max_segment_size to the previous value for 4KB page size kernels and halving the sg_tablesize for 64KB page size kernels to prevent overflow. This vulnerability results in a denial of service (DoS) condition due to kernel crashes when handling certain ATA requests. There is no indication of remote code execution or privilege escalation, and no known exploits are currently reported in the wild.
Potential Impact
For European organizations, the impact of CVE-2024-44976 is primarily related to availability. Systems running Linux on 32-bit PowerMac hardware with affected kernel versions could experience unexpected kernel panics and crashes, leading to service interruptions. While PowerMac hardware is niche and less common in enterprise environments, some research labs, legacy systems, or specialized industrial setups might still use such configurations. The vulnerability could disrupt critical operations if these systems are part of production environments or infrastructure. Since the vulnerability requires specific hardware and kernel versions, the scope is limited, but any affected system could suffer from denial of service, impacting operational continuity. Additionally, if organizations have increased max_sectors_kb settings for performance tuning, they might be more susceptible to triggering this bug. The lack of known exploits reduces immediate risk, but unpatched systems remain vulnerable to accidental or deliberate triggering of the bug, potentially by local users or automated processes generating large ATA requests.
Mitigation Recommendations
1. Apply the official Linux kernel patches that revert max_segment_size for 4KB page size kernels and adjust sg_tablesize for 64KB page size kernels as described in the fix. 2. Audit and revert any custom udev rules or system configurations that increase max_sectors_kb beyond the default 1280 sectors to reduce the risk of triggering the overflow. 3. Identify and inventory any 32-bit PowerMac systems running Linux kernels with the affected commit and prioritize patching or system upgrades. 4. For environments where patching is delayed, consider disabling or limiting ATA device usage on affected hardware to prevent large DMA requests. 5. Monitor kernel logs for BUG_ON() triggers or kernel panics related to pata_macio to detect potential exploitation or accidental triggering. 6. Engage with Linux distribution vendors for updated kernel packages and apply them promptly. 7. For organizations using legacy hardware, evaluate the necessity of continuing to run vulnerable configurations and plan for hardware or OS upgrades to supported platforms.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden
CVE-2024-44976: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: ata: pata_macio: Fix DMA table overflow Kolbjørn and Jonáš reported that their 32-bit PowerMacs were crashing in pata-macio since commit 09fe2bfa6b83 ("ata: pata_macio: Fix max_segment_size with PAGE_SIZE == 64K"). For example: kernel BUG at drivers/ata/pata_macio.c:544! Oops: Exception in kernel mode, sig: 5 [#1] BE PAGE_SIZE=4K MMU=Hash SMP NR_CPUS=2 DEBUG_PAGEALLOC PowerMac ... NIP pata_macio_qc_prep+0xf4/0x190 LR pata_macio_qc_prep+0xfc/0x190 Call Trace: 0xc1421660 (unreliable) ata_qc_issue+0x14c/0x2d4 __ata_scsi_queuecmd+0x200/0x53c ata_scsi_queuecmd+0x50/0xe0 scsi_queue_rq+0x788/0xb1c __blk_mq_issue_directly+0x58/0xf4 blk_mq_plug_issue_direct+0x8c/0x1b4 blk_mq_flush_plug_list.part.0+0x584/0x5e0 __blk_flush_plug+0xf8/0x194 __submit_bio+0x1b8/0x2e0 submit_bio_noacct_nocheck+0x230/0x304 btrfs_work_helper+0x200/0x338 process_one_work+0x1a8/0x338 worker_thread+0x364/0x4c0 kthread+0x100/0x104 start_kernel_thread+0x10/0x14 That commit increased max_segment_size to 64KB, with the justification that the SCSI core was already using that size when PAGE_SIZE == 64KB, and that there was existing logic to split over-sized requests. However with a sufficiently large request, the splitting logic causes each sg to be split into two commands in the DMA table, leading to overflow of the DMA table, triggering the BUG_ON(). With default settings the bug doesn't trigger, because the request size is limited by max_sectors_kb == 1280, however max_sectors_kb can be increased, and apparently some distros do that by default using udev rules. Fix the bug for 4KB kernels by reverting to the old max_segment_size. For 64KB kernels the sg_tablesize needs to be halved, to allow for the possibility that each sg will be split into two.
AI-Powered Analysis
Technical Analysis
CVE-2024-44976 is a vulnerability in the Linux kernel's ATA driver for PowerMac systems, specifically in the pata_macio driver responsible for handling Parallel ATA interfaces on certain Apple hardware. The issue arises from a DMA (Direct Memory Access) table overflow caused by an incorrect handling of scatter-gather (sg) lists when the max_segment_size was increased to 64KB in a recent kernel commit (09fe2bfa6b83). This change was intended to align with the SCSI core's use of 64KB segments when PAGE_SIZE equals 64KB. However, the splitting logic for oversized requests can cause each scatter-gather entry to be split into two commands, doubling the entries in the DMA table and leading to an overflow. This overflow triggers a kernel BUG_ON() assertion, causing a kernel panic and system crash. The bug is particularly triggered when max_sectors_kb is increased beyond the default 1280 sectors, which some Linux distributions do via udev rules. The vulnerability primarily affects 32-bit PowerMac systems running Linux kernels with the problematic commit. The fix involves reverting max_segment_size to the previous value for 4KB page size kernels and halving the sg_tablesize for 64KB page size kernels to prevent overflow. This vulnerability results in a denial of service (DoS) condition due to kernel crashes when handling certain ATA requests. There is no indication of remote code execution or privilege escalation, and no known exploits are currently reported in the wild.
Potential Impact
For European organizations, the impact of CVE-2024-44976 is primarily related to availability. Systems running Linux on 32-bit PowerMac hardware with affected kernel versions could experience unexpected kernel panics and crashes, leading to service interruptions. While PowerMac hardware is niche and less common in enterprise environments, some research labs, legacy systems, or specialized industrial setups might still use such configurations. The vulnerability could disrupt critical operations if these systems are part of production environments or infrastructure. Since the vulnerability requires specific hardware and kernel versions, the scope is limited, but any affected system could suffer from denial of service, impacting operational continuity. Additionally, if organizations have increased max_sectors_kb settings for performance tuning, they might be more susceptible to triggering this bug. The lack of known exploits reduces immediate risk, but unpatched systems remain vulnerable to accidental or deliberate triggering of the bug, potentially by local users or automated processes generating large ATA requests.
Mitigation Recommendations
1. Apply the official Linux kernel patches that revert max_segment_size for 4KB page size kernels and adjust sg_tablesize for 64KB page size kernels as described in the fix. 2. Audit and revert any custom udev rules or system configurations that increase max_sectors_kb beyond the default 1280 sectors to reduce the risk of triggering the overflow. 3. Identify and inventory any 32-bit PowerMac systems running Linux kernels with the affected commit and prioritize patching or system upgrades. 4. For environments where patching is delayed, consider disabling or limiting ATA device usage on affected hardware to prevent large DMA requests. 5. Monitor kernel logs for BUG_ON() triggers or kernel panics related to pata_macio to detect potential exploitation or accidental triggering. 6. Engage with Linux distribution vendors for updated kernel packages and apply them promptly. 7. For organizations using legacy hardware, evaluate the necessity of continuing to run vulnerable configurations and plan for hardware or OS upgrades to supported platforms.
Affected Countries
For access to advanced analysis and higher rate limits, contact root@offseq.com
Technical Details
- Data Version
- 5.1
- Assigner Short Name
- Linux
- Date Reserved
- 2024-08-21T05:34:56.669Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9826c4522896dcbe0d91
Added to database: 5/21/2025, 9:08:54 AM
Last enriched: 6/28/2025, 11:24:36 PM
Last updated: 8/15/2025, 1:41:35 AM
Views: 14
Related Threats
CVE-2025-53948: CWE-415 Double Free in Santesoft Sante PACS Server
HighCVE-2025-52584: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-46269: CWE-122 Heap-based Buffer Overflow in Ashlar-Vellum Cobalt
HighCVE-2025-54862: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumCVE-2025-54759: CWE-79 Improper Neutralization of Input During Web Page Generation (XSS or 'Cross-site Scripting') in Santesoft Sante PACS Server
MediumActions
Updates to AI analysis are available only with a Pro account. Contact root@offseq.com for access.
External Links
Need enhanced features?
Contact root@offseq.com for Pro access with improved analysis and higher rate limits.