CVE-2021-47462: Vulnerability in Linux Linux
In the Linux kernel, the following vulnerability has been resolved: mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind() syzbot reported access to unitialized memory in mbind() [1] Issue came with commit bda420b98505 ("numa balancing: migrate on fault among multiple bound nodes") This commit added a new bit in MPOL_MODE_FLAGS, but only checked valid combination (MPOL_F_NUMA_BALANCING can only be used with MPOL_BIND) in do_set_mempolicy() This patch moves the check in sanitize_mpol_flags() so that it is also used by mbind() [1] BUG: KMSAN: uninit-value in __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 mpol_equal include/linux/mempolicy.h:105 [inline] vma_merge+0x4a1/0x1e60 mm/mmap.c:1190 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333 kernel_mbind mm/mempolicy.c:1483 [inline] __do_sys_mbind mm/mempolicy.c:1490 [inline] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x44/0xae Uninit was created at: slab_alloc_node mm/slub.c:3221 [inline] slab_alloc mm/slub.c:3230 [inline] kmem_cache_alloc+0x751/0xff0 mm/slub.c:3235 mpol_new mm/mempolicy.c:293 [inline] do_mbind+0x912/0x15f0 mm/mempolicy.c:1289 kernel_mbind mm/mempolicy.c:1483 [inline] __do_sys_mbind mm/mempolicy.c:1490 [inline] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x44/0xae ===================================================== Kernel panic - not syncing: panic_on_kmsan set ... CPU: 0 PID: 15049 Comm: syz-executor.0 Tainted: G B 5.15.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1ff/0x28e lib/dump_stack.c:106 dump_stack+0x25/0x28 lib/dump_stack.c:113 panic+0x44f/0xdeb kernel/panic.c:232 kmsan_report+0x2ee/0x300 mm/kmsan/report.c:186 __msan_warning+0xd7/0x150 mm/kmsan/instrumentation.c:208 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 mpol_equal include/linux/mempolicy.h:105 [inline] vma_merge+0x4a1/0x1e60 mm/mmap.c:1190 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333 kernel_mbind mm/mempolicy.c:1483 [inline] __do_sys_mbind mm/mempolicy.c:1490 [inline] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x44/0xae
AI Analysis
Technical Summary
CVE-2021-47462 is a vulnerability in the Linux kernel's memory policy subsystem, specifically within the mbind() system call implementation. The issue arises from improper validation of memory policy flags related to NUMA (Non-Uniform Memory Access) balancing. A commit (bda420b98505) introduced a new bit in MPOL_MODE_FLAGS to support NUMA balancing with migration on fault among multiple bound nodes. However, the validation logic for allowed flag combinations was only applied in do_set_mempolicy(), not in mbind(), allowing illegal combinations of MPOL_F_NUMA_BALANCING and MPOL_LOCAL flags to be passed. This leads to access of uninitialized memory in the __mpol_equal() function, which compares memory policies, causing undefined behavior and potential kernel panics. The vulnerability was discovered and reported by syzbot, a kernel fuzzing tool, which triggered a kernel panic due to uninitialized memory usage detected by Kernel Memory Sanitizer (KMSAN). The root cause is that the flag validation was moved to sanitize_mpol_flags() but mbind() did not use this function, resulting in unchecked invalid flag combinations. Exploitation of this flaw could cause system instability, crashes, or denial of service due to kernel panics. The vulnerability affects Linux kernel versions containing the problematic commit and was patched by ensuring mbind() also sanitizes the flags properly. There is no evidence of active exploitation in the wild. The vulnerability requires local access to invoke mbind() with crafted flags, and it does not appear to allow privilege escalation or remote code execution directly. However, it undermines kernel memory safety and stability, which is critical for system reliability.
Potential Impact
For European organizations, the impact of CVE-2021-47462 primarily concerns system stability and availability. Linux is widely used in enterprise servers, cloud infrastructure, and embedded systems across Europe. A kernel panic triggered by this vulnerability could cause unexpected downtime, disrupt critical services, and impact business continuity. Organizations relying on NUMA architectures for performance optimization in data centers or HPC environments may be more exposed if they use affected kernel versions. Although this vulnerability does not directly lead to data breaches or privilege escalation, denial of service in critical infrastructure or cloud platforms could have cascading effects on operations and service delivery. Additionally, organizations with stringent uptime requirements, such as financial institutions, telecommunications providers, and public sector entities, could face operational risks. The lack of known exploits reduces immediate threat, but the vulnerability should be addressed promptly to maintain system integrity and prevent potential exploitation in targeted attacks or by insider threats.
Mitigation Recommendations
1. Apply the official Linux kernel patches that fix CVE-2021-47462 as soon as possible. Ensure kernel versions are updated to include the sanitize_mpol_flags() check in mbind(). 2. For organizations using custom or long-term support kernels, backport the patch or upgrade to a supported kernel version containing the fix. 3. Implement strict access controls to limit which users or processes can invoke mbind() system calls, reducing the attack surface. 4. Monitor kernel logs and system behavior for signs of kernel panics or memory sanitizer warnings that could indicate attempts to trigger this vulnerability. 5. In environments using NUMA balancing features, review and audit memory policy configurations to ensure they do not use unsupported or experimental flags. 6. Employ kernel hardening and runtime integrity monitoring tools to detect anomalous system calls or memory corruption attempts. 7. Coordinate with cloud providers or third-party vendors to confirm that underlying Linux kernels are patched if using managed services. 8. Maintain an incident response plan to quickly recover from potential denial of service caused by kernel panics.
Affected Countries
Germany, France, United Kingdom, Netherlands, Sweden, Finland, Italy, Spain
CVE-2021-47462: Vulnerability in Linux Linux
Description
In the Linux kernel, the following vulnerability has been resolved: mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind() syzbot reported access to unitialized memory in mbind() [1] Issue came with commit bda420b98505 ("numa balancing: migrate on fault among multiple bound nodes") This commit added a new bit in MPOL_MODE_FLAGS, but only checked valid combination (MPOL_F_NUMA_BALANCING can only be used with MPOL_BIND) in do_set_mempolicy() This patch moves the check in sanitize_mpol_flags() so that it is also used by mbind() [1] BUG: KMSAN: uninit-value in __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 mpol_equal include/linux/mempolicy.h:105 [inline] vma_merge+0x4a1/0x1e60 mm/mmap.c:1190 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333 kernel_mbind mm/mempolicy.c:1483 [inline] __do_sys_mbind mm/mempolicy.c:1490 [inline] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x44/0xae Uninit was created at: slab_alloc_node mm/slub.c:3221 [inline] slab_alloc mm/slub.c:3230 [inline] kmem_cache_alloc+0x751/0xff0 mm/slub.c:3235 mpol_new mm/mempolicy.c:293 [inline] do_mbind+0x912/0x15f0 mm/mempolicy.c:1289 kernel_mbind mm/mempolicy.c:1483 [inline] __do_sys_mbind mm/mempolicy.c:1490 [inline] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x44/0xae ===================================================== Kernel panic - not syncing: panic_on_kmsan set ... CPU: 0 PID: 15049 Comm: syz-executor.0 Tainted: G B 5.15.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0x1ff/0x28e lib/dump_stack.c:106 dump_stack+0x25/0x28 lib/dump_stack.c:113 panic+0x44f/0xdeb kernel/panic.c:232 kmsan_report+0x2ee/0x300 mm/kmsan/report.c:186 __msan_warning+0xd7/0x150 mm/kmsan/instrumentation.c:208 __mpol_equal+0x567/0x590 mm/mempolicy.c:2260 mpol_equal include/linux/mempolicy.h:105 [inline] vma_merge+0x4a1/0x1e60 mm/mmap.c:1190 mbind_range+0xcc8/0x1e80 mm/mempolicy.c:811 do_mbind+0xf42/0x15f0 mm/mempolicy.c:1333 kernel_mbind mm/mempolicy.c:1483 [inline] __do_sys_mbind mm/mempolicy.c:1490 [inline] __se_sys_mbind+0x437/0xb80 mm/mempolicy.c:1486 __x64_sys_mbind+0x19d/0x200 mm/mempolicy.c:1486 do_syscall_x64 arch/x86/entry/common.c:51 [inline] do_syscall_64+0x54/0xd0 arch/x86/entry/common.c:82 entry_SYSCALL_64_after_hwframe+0x44/0xae
AI-Powered Analysis
Technical Analysis
CVE-2021-47462 is a vulnerability in the Linux kernel's memory policy subsystem, specifically within the mbind() system call implementation. The issue arises from improper validation of memory policy flags related to NUMA (Non-Uniform Memory Access) balancing. A commit (bda420b98505) introduced a new bit in MPOL_MODE_FLAGS to support NUMA balancing with migration on fault among multiple bound nodes. However, the validation logic for allowed flag combinations was only applied in do_set_mempolicy(), not in mbind(), allowing illegal combinations of MPOL_F_NUMA_BALANCING and MPOL_LOCAL flags to be passed. This leads to access of uninitialized memory in the __mpol_equal() function, which compares memory policies, causing undefined behavior and potential kernel panics. The vulnerability was discovered and reported by syzbot, a kernel fuzzing tool, which triggered a kernel panic due to uninitialized memory usage detected by Kernel Memory Sanitizer (KMSAN). The root cause is that the flag validation was moved to sanitize_mpol_flags() but mbind() did not use this function, resulting in unchecked invalid flag combinations. Exploitation of this flaw could cause system instability, crashes, or denial of service due to kernel panics. The vulnerability affects Linux kernel versions containing the problematic commit and was patched by ensuring mbind() also sanitizes the flags properly. There is no evidence of active exploitation in the wild. The vulnerability requires local access to invoke mbind() with crafted flags, and it does not appear to allow privilege escalation or remote code execution directly. However, it undermines kernel memory safety and stability, which is critical for system reliability.
Potential Impact
For European organizations, the impact of CVE-2021-47462 primarily concerns system stability and availability. Linux is widely used in enterprise servers, cloud infrastructure, and embedded systems across Europe. A kernel panic triggered by this vulnerability could cause unexpected downtime, disrupt critical services, and impact business continuity. Organizations relying on NUMA architectures for performance optimization in data centers or HPC environments may be more exposed if they use affected kernel versions. Although this vulnerability does not directly lead to data breaches or privilege escalation, denial of service in critical infrastructure or cloud platforms could have cascading effects on operations and service delivery. Additionally, organizations with stringent uptime requirements, such as financial institutions, telecommunications providers, and public sector entities, could face operational risks. The lack of known exploits reduces immediate threat, but the vulnerability should be addressed promptly to maintain system integrity and prevent potential exploitation in targeted attacks or by insider threats.
Mitigation Recommendations
1. Apply the official Linux kernel patches that fix CVE-2021-47462 as soon as possible. Ensure kernel versions are updated to include the sanitize_mpol_flags() check in mbind(). 2. For organizations using custom or long-term support kernels, backport the patch or upgrade to a supported kernel version containing the fix. 3. Implement strict access controls to limit which users or processes can invoke mbind() system calls, reducing the attack surface. 4. Monitor kernel logs and system behavior for signs of kernel panics or memory sanitizer warnings that could indicate attempts to trigger this vulnerability. 5. In environments using NUMA balancing features, review and audit memory policy configurations to ensure they do not use unsupported or experimental flags. 6. Employ kernel hardening and runtime integrity monitoring tools to detect anomalous system calls or memory corruption attempts. 7. Coordinate with cloud providers or third-party vendors to confirm that underlying Linux kernels are patched if using managed services. 8. Maintain an incident response plan to quickly recover from potential denial of service caused by kernel panics.
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-05-22T06:20:56.198Z
- Cisa Enriched
- true
- Cvss Version
- null
- State
- PUBLISHED
Threat ID: 682d9833c4522896dcbe91de
Added to database: 5/21/2025, 9:09:07 AM
Last enriched: 6/30/2025, 1:25:45 PM
Last updated: 7/29/2025, 12:29:51 PM
Views: 13
Related Threats
CVE-2025-8983: SQL Injection in itsourcecode Online Tour and Travel Management System
MediumCVE-2025-8982: SQL Injection in itsourcecode Online Tour and Travel Management System
MediumCVE-2025-8981: SQL Injection in itsourcecode Online Tour and Travel Management System
MediumCVE-2025-50862: n/a
MediumCVE-2025-50861: n/a
HighActions
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.