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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2021-47462— mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind()

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存在安全漏洞,该漏洞源于未初始化内存。

AI Predicted 5.5 Difficulty: Moderate EPSS 0.18% · P7

Affected Version Matrix 6

VendorProduct Version RangeStatus
Linux Linux bda420b985054a3badafef23807c4b4fa38a3dff< 9ee4e9ae98f1f262d6fae0d266cfdf3ba2c321d9 affected
bda420b985054a3badafef23807c4b4fa38a3dff< 6d2aec9e123bb9c49cb5c7fc654f25f81e688e8c affected
5.12 affected
< 5.12 unaffected
5.14.15≤ 5.14.* unaffected
5.15≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2021-47462

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
mm/mempolicy: do not allow illegal MPOL_F_NUMA_BALANCING | MPOL_LOCAL in mbind()
Source: CVE Program / CVE List V5
Vulnerability 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
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存在安全漏洞,该漏洞源于未初始化内存。
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 bda420b985054a3badafef23807c4b4fa38a3dff ~ 9ee4e9ae98f1f262d6fae0d266cfdf3ba2c321d9 -
Linux Linux 5.12 -

II. Public POCs for CVE-2021-47462

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-47462

请登录查看更多情报信息。

Other References for CVE-2021-47462 (2)

Same Patch Batch · Linux · 2024-05-22 · 63 CVEs total

CVE-2021-47496 9.8 CRITICAL net/tls: Fix flipped sign in tls_err_abort() calls
CVE-2021-47478 9.1 CRITICAL isofs: Fix out of bound access for corrupted isofs image
CVE-2021-47450 8.8 HIGH KVM: arm64: Fix host stage-2 PGD refcount
CVE-2021-47433 8.1 HIGH btrfs: fix abort logic in btrfs_replace_file_extents
CVE-2021-47446 7.8 HIGH drm/msm/a4xx: fix error handling in a4xx_gpu_init()
CVE-2021-47493 7.8 HIGH ocfs2: fix race between searching chunks and release journal_head from buffer_head
CVE-2021-47492 7.8 HIGH mm, thp: bail out early in collapse_file for writeback page
CVE-2021-47494 7.8 HIGH cfg80211: fix management registrations locking
CVE-2021-47451 7.8 HIGH netfilter: xt_IDLETIMER: fix panic that occurs when timer_type has garbage value
CVE-2021-47447 7.8 HIGH drm/msm/a3xx: fix error handling in a3xx_gpu_init()
CVE-2021-47485 7.8 HIGH IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields
CVE-2021-47483 7.8 HIGH regmap: Fix possible double-free in regcache_rbtree_exit()
CVE-2021-47459 7.8 HIGH can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv
CVE-2021-47461 7.8 HIGH userfaultfd: fix a race between writeprotect and exit_mmap()
CVE-2021-47448 7.5 HIGH mptcp: fix possible stall on recvmsg()
CVE-2021-47438 7.1 HIGH net/mlx5e: Fix memory leak in mlx5_core_destroy_cq() error path
CVE-2021-47465 7.1 HIGH KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest()
CVE-2021-47458 7.1 HIGH ocfs2: mount fails with buffer overflow in strlen
CVE-2021-47497 nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells
CVE-2021-47498 dm rq: don't queue request to blk-mq during DM suspend

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-47462

No comments yet


Leave a comment