In the Linux kernel, the following vulnerability has been resolved:
procfs: avoid fetching build ID while holding VMA lock
Fix PROCMAP_QUERY to fetch optional build ID only after dropping mmap_lock or per-VMA lock, whichever was used to lock VMA under question, to avoid deadlock reported by syzbot:
-> #1 (&mm->mmap_lock){++++}-{4:4}: __might_fault+0xed/0x170 _copy_to_iter+0x118/0x1720 copy_page_to_iter+0x12d/0x1e0 filemap_read+0x720/0x10a0 blkdev_read_iter+0x2b5/0x4e0 vfs_read+0x7f4/0xae0 ksys_read+0x12a/0x250 do_syscall_64+0xcb/0xf80 entry_SYSCALL_64_after_hwframe+0x77/0x7f
-> #0 (&sb->s_type->i_mutex_key#8){++++}-{4:4}: __lock_acquire+0x1509/0x26d0 lock_acquire+0x185/0x340 down_read+0x98/0x490 blkdev_read_iter+0x2a7/0x4e0 __kernel_read+0x39a/0xa90 freader_fetch+0x1d5/0xa80 __build_id_parse.isra.0+0xea/0x6a0 do_procmap_query+0xd75/0x1050 procfs_procmap_ioctl+0x7a/0xb0 __x64_sys_ioctl+0x18e/0x210 do_syscall_64+0xcb/0xf80 entry_SYSCALL_64_after_hwframe+0x77/0x7f
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1 ---- ---- rlock(&mm->mmap_lock); lock(&sb->s_type->i_mutex_key#8); lock(&mm->mmap_lock); rlock(&sb->s_type->i_mutex_key#8);
*** DEADLOCK ***
This seems to be exacerbated (as we haven't seen these syzbot reports before that) by the recent:
777a8560fd29 ("lib/buildid: use __kernel_read() for sleepable context")
To make this safe, we need to grab file refcount while VMA is still locked, but other than that everything is pretty straightforward. Internal build_id_parse() API assumes VMA is passed, but it only needs the underlying file reference, so just add another variant build_id_parse_file() that expects file passed directly.
[[email protected]: fix up kerneldoc]
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade perf6.12-debuginfoUpgrade kernel6.12-modules-extraUpgrade bpftool6.12Upgrade kernel6.12Upgrade kernel6.12-develUpgrade kernel6.12-libbpf-debuginfoUpgrade kernel-livepatch-6.12.73-95.123Upgrade kernel6.12-debuginfo-common-aarch64Upgrade bpftool6.12-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel6.12-modules-extra-commonUpgrade kernel6.12-headersUpgrade perf6.12Upgrade kernel6.12-libbpfUpgrade kernel6.12-tools-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-toolsUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-libbpf-staticUpgrade kernel6.12-debuginfoUpgrade python3-perf6.12Upgrade kernel6.12-libbpf-devel | Mar 27, 2026 | Feb 14, 2026 |
| Debian | — | Upgrade linux | Jul 23, 2026 | Jul 23, 2026 |
| Oracle_linux | — | Upgrade kernel-uek | Mar 25, 2026 | Feb 14, 2026 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Jul 17, 2026 | Feb 14, 2026 |
| Rocky_linux | — | Upgrade kernelUpgrade perf-debuginfoUpgrade libperfUpgrade libperf-debuginfoUpgrade kernel-debug-devel-matchedUpgrade kernel-toolsUpgrade kernel-rt-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-devel-matchedUpgrade kernel-zfcpdump-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-rtUpgrade perfUpgrade kernel-debuginfo-common-s390xUpgrade kernel-modules-coreUpgrade kernel-tools-libs-develUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-modules-extraUpgrade kernel-zfcpdump-modules-coreUpgrade rvUpgrade kernel-uki-virt-addonsUpgrade kernel-zfcpdump-debuginfoUpgrade kernel-modules-extraUpgrade kernel-rt-debug-coreUpgrade kernel-debug-uki-virtUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-zfcpdumpUpgrade kernel-tools-libsUpgrade kernel-modules-extra-matchedUpgrade kernel-rt-debug-develUpgrade kernel-rt-develUpgrade python3-perf-debuginfoUpgrade kernel-rt-debugUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-debug-modulesUpgrade kernel-debug-coreUpgrade kernel-tools-debuginfoUpgrade python3-perfUpgrade kernel-uki-virtUpgrade kernel-debuginfoUpgrade rtlaUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-coreUpgrade kernel-debugUpgrade kernel-zfcpdump-develUpgrade kernel-coreUpgrade kernel-rt-debug-debuginfoUpgrade kernel-debug-develUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-modulesUpgrade kernel-develUpgrade kernel-debug-modules-coreUpgrade kernel-debug-debuginfo | Aug 7, 2026 | Aug 6, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub