Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2024-44976— ata: pata_macio: Fix DMA table overflow

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于ata: pata_macio组件存在DMA表溢出漏洞。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.20% · P9

Possible ATT&CK Techniques 1 AI

T1203 · Exploitation for Client Execution

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux 09fe2bfa6b83f865126ce3964744863f69a4a030< 709e4c8f78e156ab332297bdd87527ec3da4e2d4 affected
09fe2bfa6b83f865126ce3964744863f69a4a030< 822c8020aebcf5804a143b891e34f29873fee5e2 affected
6.10 affected
< 6.10 unaffected
6.10.7≤ 6.10.* unaffected
6.11≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-44976

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
ata: pata_macio: Fix DMA table overflow
Source: CVE Program / CVE List V5
Vulnerability 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.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于ata: pata_macio组件存在DMA表溢出漏洞。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 09fe2bfa6b83f865126ce3964744863f69a4a030 ~ 709e4c8f78e156ab332297bdd87527ec3da4e2d4 -
Linux Linux 6.10 -

II. Public POCs for CVE-2024-44976

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-44976

登录查看更多情报信息。

Patches & Fixes for CVE-2024-44976 (2)

Same Patch Batch · Linux · 2024-09-04 · 58 CVEs total

CVE-2024-44984 10.0 CRITICAL bnxt_en: Fix double DMA unmapping for XDP_REDIRECT
CVE-2024-44998 9.8 CRITICAL atm: idt77252: prevent use after free in dequeue_rx()
CVE-2024-44970 9.8 CRITICAL net/mlx5e: SHAMPO, Fix invalid WQ linked list unlink
CVE-2024-44985 9.8 CRITICAL ipv6: prevent possible UAF in ip6_xmit()
CVE-2024-44988 8.8 HIGH net: dsa: mv88e6xxx: Fix out-of-bound access
CVE-2024-44994 8.8 HIGH iommu: Restore lost return in iommu_report_device_fault()
CVE-2024-44973 8.1 HIGH mm, slub: do not call do_slab_free for kfence object
CVE-2024-44986 8.1 HIGH ipv6: fix possible UAF in ip6_finish_output2()
CVE-2024-44978 7.8 HIGH drm/xe: Free job before xe_exec_queue_put
CVE-2024-44995 7.8 HIGH net: hns3: fix a deadlock problem when config TC during resetting
CVE-2024-44974 7.8 HIGH mptcp: pm: avoid possible UaF when selecting endp
CVE-2024-44967 7.8 HIGH drm/mgag200: Bind I2C lifetime to DRM device
CVE-2024-44997 7.8 HIGH net: ethernet: mtk_wed: fix use-after-free panic in mtk_wed_setup_tc_block_cb()
CVE-2024-44987 7.8 HIGH ipv6: prevent UAF in ip6_send_skb()
CVE-2024-44966 7.8 HIGH binfmt_flat: Fix corruption when not offsetting data start
CVE-2024-44951 7.8 HIGH serial: sc16is7xx: fix TX fifo corruption
CVE-2024-44954 7.8 HIGH ALSA: line6: Fix racy access to midibuf
CVE-2024-44959 7.8 HIGH tracefs: Use generic inode RCU for synchronizing freeing
CVE-2024-45000 7.8 HIGH fs/netfs/fscache_cookie: add missing "n_accesses" check
CVE-2024-44949 7.8 HIGH parisc: fix a possible DMA corruption

Showing top 20 of 58 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-44976

No comments yet


Leave a comment