CVE-2022-48986: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: mm/gup: fix gup_pud_range() for dax For dax pud, pud_huge() returns true on x86. So the function works as long as hugetlb is configured. However, dax doesn't depend on hugetlb. Commit 414fd080d125 ("mm/gup: fix gup_pmd_range() for dax") fixed devmap-backed huge PMDs, but missed devmap-backed huge PUDs. Fix this as well. This fixes the below kernel panic: general protection fault, probably for non-canonical address 0x69e7c000cc478: 0000 [#1] SMP < snip > Call Trace: <TASK> get_user_pages_fast+0x1f/0x40 iov_iter_get_pages+0xc6/0x3b0 ? mempool_alloc+0x5d/0x170 bio_iov_iter_get_pages+0x82/0x4e0 ? bvec_alloc+0x91/0xc0 ? bio_alloc_bioset+0x19a/0x2a0 blkdev_direct_IO+0x282/0x480 ? __io_complete_rw_common+0xc0/0xc0 ? filemap_range_has_page+0x82/0xc0 generic_file_direct_write+0x9d/0x1a0 ? inode_update_time+0x24/0x30 __generic_file_write_iter+0xbd/0x1e0 blkdev_write_iter+0xb4/0x150 ? io_import_iovec+0x8d/0x340 io_write+0xf9/0x300 io_issue_sqe+0x3c3/0x1d30 ? sysvec_reschedule_ipi+0x6c/0x80 __io_queue_sqe+0x33/0x240 ? fget+0x76/0xa0 io_submit_sqes+0xe6a/0x18d0 ? __fget_light+0xd1/0x100 __x64_sys_io_uring_enter+0x199/0x880 ? __context_tracking_enter+0x1f/0x70 ? irqentry_exit_to_user_mode+0x24/0x30 ? irqentry_exit+0x1d/0x30 ? __context_tracking_exit+0xe/0x70 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7fc97c11a7be < snip > </TASK> ---[ end trace 48b2e0e67debcaeb ]--- RIP: 0010:internal_get_user_pages_fast+0x340/0x990 < snip > Kernel panic - not syncing: Fatal exception Kernel Offset: disabled
AI Analysis
Technical Summary
CVE-2022-48986 is a vulnerability in the Linux kernel related to the handling of get_user_pages (GUP) operations for Direct Access (DAX) page upper directory (PUD) ranges. The issue arises because the function gup_pud_range() incorrectly assumes that the pud_huge() check, which returns true for huge pages on x86 architectures, applies to DAX mappings as well. However, DAX does not depend on huge pages (hugetlb), leading to improper handling of devmap-backed huge PUDs. This flaw was overlooked in a prior fix that addressed huge PMDs but missed huge PUDs. The consequence of this vulnerability is a kernel panic triggered by a general protection fault due to accessing a non-canonical address, which results in a fatal exception and system crash. The stack trace indicates the fault occurs during the get_user_pages_fast() call, which is used in various I/O operations including direct I/O and io_uring submissions. This vulnerability affects multiple Linux kernel versions identified by specific commit hashes. Although no known exploits are currently reported in the wild, the vulnerability can cause denial of service (DoS) through kernel panics when triggered. The root cause is a logic error in memory management code handling DAX-enabled devices, which are used to map persistent memory directly into user space, bypassing the page cache for performance gains. The fix involves correcting the gup_pud_range() function to properly handle devmap-backed huge PUDs for DAX, preventing the kernel panic.
Potential Impact
For European organizations, the primary impact of CVE-2022-48986 is the risk of denial of service due to kernel panics on Linux systems utilizing DAX-enabled storage. DAX is commonly deployed in high-performance computing, database servers, and enterprise storage solutions that leverage persistent memory technologies. Organizations relying on such infrastructure may experience unexpected system crashes, leading to service interruptions, data unavailability, and potential operational disruptions. While this vulnerability does not appear to allow privilege escalation or arbitrary code execution, the resulting instability can affect critical services, especially in sectors like finance, telecommunications, cloud service providers, and public administration where Linux servers are prevalent. The lack of known exploits reduces immediate risk, but the complexity of the flaw means that inadvertent triggering through legitimate I/O operations is possible. Recovery from kernel panics requires system reboots, which can impact availability and operational continuity. Additionally, organizations with strict uptime requirements or those running containerized or virtualized environments on affected kernels may face cascading effects due to host instability.
Mitigation Recommendations
European organizations should prioritize applying the official Linux kernel patches that address this vulnerability by correcting the gup_pud_range() function for DAX PUDs. Since the fix is tied to specific kernel commits, system administrators must verify their kernel versions against the affected commits and upgrade to patched versions promptly. For environments where immediate patching is not feasible, mitigating risk includes disabling DAX support temporarily if it is not essential, as this will prevent the vulnerable code path from being exercised. Additionally, organizations should implement robust monitoring for kernel panics and system crashes to detect potential exploitation or accidental triggering early. Testing kernel updates in staging environments before production deployment is recommended to ensure stability. Maintaining up-to-date backups and recovery procedures is critical to minimize downtime in case of DoS incidents. Finally, organizations should review their use of io_uring and direct I/O operations, as these interfaces interact with the vulnerable code paths, and apply any vendor-specific mitigations or workarounds provided by Linux distributions.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain, Poland
CVE-2022-48986: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: mm/gup: fix gup_pud_range() for dax For dax pud, pud_huge() returns true on x86. So the function works as long as hugetlb is configured. However, dax doesn't depend on hugetlb. Commit 414fd080d125 ("mm/gup: fix gup_pmd_range() for dax") fixed devmap-backed huge PMDs, but missed devmap-backed huge PUDs. Fix this as well. This fixes the below kernel panic: general protection fault, probably for non-canonical address 0x69e7c000cc478: 0000 [#1] SMP < snip > Call Trace: <TASK> get_user_pages_fast+0x1f/0x40 iov_iter_get_pages+0xc6/0x3b0 ? mempool_alloc+0x5d/0x170 bio_iov_iter_get_pages+0x82/0x4e0 ? bvec_alloc+0x91/0xc0 ? bio_alloc_bioset+0x19a/0x2a0 blkdev_direct_IO+0x282/0x480 ? __io_complete_rw_common+0xc0/0xc0 ? filemap_range_has_page+0x82/0xc0 generic_file_direct_write+0x9d/0x1a0 ? inode_update_time+0x24/0x30 __generic_file_write_iter+0xbd/0x1e0 blkdev_write_iter+0xb4/0x150 ? io_import_iovec+0x8d/0x340 io_write+0xf9/0x300 io_issue_sqe+0x3c3/0x1d30 ? sysvec_reschedule_ipi+0x6c/0x80 __io_queue_sqe+0x33/0x240 ? fget+0x76/0xa0 io_submit_sqes+0xe6a/0x18d0 ? __fget_light+0xd1/0x100 __x64_sys_io_uring_enter+0x199/0x880 ? __context_tracking_enter+0x1f/0x70 ? irqentry_exit_to_user_mode+0x24/0x30 ? irqentry_exit+0x1d/0x30 ? __context_tracking_exit+0xe/0x70 do_syscall_64+0x3b/0x90 entry_SYSCALL_64_after_hwframe+0x61/0xcb RIP: 0033:0x7fc97c11a7be < snip > </TASK> ---[ end trace 48b2e0e67debcaeb ]--- RIP: 0010:internal_get_user_pages_fast+0x340/0x990 < snip > Kernel panic - not syncing: Fatal exception Kernel Offset: disabled
AI-Powered Analysis
Technical Analysis
CVE-2022-48986 is a vulnerability in the Linux kernel related to the handling of get_user_pages (GUP) operations for Direct Access (DAX) page upper directory (PUD) ranges. The issue arises because the function gup_pud_range() incorrectly assumes that the pud_huge() check, which returns true for huge pages on x86 architectures, applies to DAX mappings as well. However, DAX does not depend on huge pages (hugetlb), leading to improper handling of devmap-backed huge PUDs. This flaw was overlooked in a prior fix that addressed huge PMDs but missed huge PUDs. The consequence of this vulnerability is a kernel panic triggered by a general protection fault due to accessing a non-canonical address, which results in a fatal exception and system crash. The stack trace indicates the fault occurs during the get_user_pages_fast() call, which is used in various I/O operations including direct I/O and io_uring submissions. This vulnerability affects multiple Linux kernel versions identified by specific commit hashes. Although no known exploits are currently reported in the wild, the vulnerability can cause denial of service (DoS) through kernel panics when triggered. The root cause is a logic error in memory management code handling DAX-enabled devices, which are used to map persistent memory directly into user space, bypassing the page cache for performance gains. The fix involves correcting the gup_pud_range() function to properly handle devmap-backed huge PUDs for DAX, preventing the kernel panic.
Potential Impact
For European organizations, the primary impact of CVE-2022-48986 is the risk of denial of service due to kernel panics on Linux systems utilizing DAX-enabled storage. DAX is commonly deployed in high-performance computing, database servers, and enterprise storage solutions that leverage persistent memory technologies. Organizations relying on such infrastructure may experience unexpected system crashes, leading to service interruptions, data unavailability, and potential operational disruptions. While this vulnerability does not appear to allow privilege escalation or arbitrary code execution, the resulting instability can affect critical services, especially in sectors like finance, telecommunications, cloud service providers, and public administration where Linux servers are prevalent. The lack of known exploits reduces immediate risk, but the complexity of the flaw means that inadvertent triggering through legitimate I/O operations is possible. Recovery from kernel panics requires system reboots, which can impact availability and operational continuity. Additionally, organizations with strict uptime requirements or those running containerized or virtualized environments on affected kernels may face cascading effects due to host instability.
Mitigation Recommendations
European organizations should prioritize applying the official Linux kernel patches that address this vulnerability by correcting the gup_pud_range() function for DAX PUDs. Since the fix is tied to specific kernel commits, system administrators must verify their kernel versions against the affected commits and upgrade to patched versions promptly. For environments where immediate patching is not feasible, mitigating risk includes disabling DAX support temporarily if it is not essential, as this will prevent the vulnerable code path from being exercised. Additionally, organizations should implement robust monitoring for kernel panics and system crashes to detect potential exploitation or accidental triggering early. Testing kernel updates in staging environments before production deployment is recommended to ensure stability. Maintaining up-to-date backups and recovery procedures is critical to minimize downtime in case of DoS incidents. Finally, organizations should review their use of io_uring and direct I/O operations, as these interfaces interact with the vulnerable code paths, and apply any vendor-specific mitigations or workarounds provided by Linux distributions.
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-22T01:27:53.634Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9820c4522896dcbdd597
Added to database: 5/21/2025, 9:08:48 AM
Last enriched: 6/28/2025, 12:12:13 AM
Last updated: 7/28/2025, 6:04:58 AM
Views: 13
Related Threats
CVE-2025-50610: n/a
HighCVE-2025-50609: n/a
HighCVE-2025-50608: n/a
HighCVE-2025-55194: CWE-248: Uncaught Exception in Part-DB Part-DB-server
MediumCVE-2025-55197: CWE-400: Uncontrolled Resource Consumption in py-pdf pypdf
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.