In the Linux kernel, the following vulnerability has been resolved:
nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells
If a cell has 'nbits' equal to a multiple of BITS_PER_BYTE the logic
*p &= GENMASK((cell->nbits%BITS_PER_BYTE) - 1, 0);
will become undefined behavior because nbits modulo BITS_PER_BYTE is 0, and we subtract one from that making a large number that is then shifted more than the number of bits that fit into an unsigned long.
UBSAN reports this problem:
UBSAN: shift-out-of-bounds in drivers/nvmem/core.c:1386:8 shift exponent 64 is too large for 64-bit type 'unsigned long' CPU: 6 PID: 7 Comm: kworker/u16:0 Not tainted 5.15.0-rc3+ #9 Hardware name: Google Lazor (rev3+) with KB Backlight (DT) Workqueue: events_unbound deferred_probe_work_func Call trace: dump_backtrace+0x0/0x170 show_stack+0x24/0x30 dump_stack_lvl+0x64/0x7c dump_stack+0x18/0x38 ubsan_epilogue+0x10/0x54 __ubsan_handle_shift_out_of_bounds+0x180/0x194 __nvmem_cell_read+0x1ec/0x21c nvmem_cell_read+0x58/0x94 nvmem_cell_read_variable_common+0x4c/0xb0 nvmem_cell_read_variable_le_u32+0x40/0x100 a6xx_gpu_init+0x170/0x2f4 adreno_bind+0x174/0x284 component_bind_all+0xf0/0x264 msm_drm_bind+0x1d8/0x7a0 try_to_bring_up_master+0x164/0x1ac __component_add+0xbc/0x13c component_add+0x20/0x2c dp_display_probe+0x340/0x384 platform_probe+0xc0/0x100 really_probe+0x110/0x304 __driver_probe_device+0xb8/0x120 driver_probe_device+0x4c/0xfc __device_attach_driver+0xb0/0x128 bus_for_each_drv+0x90/0xdc __device_attach+0xc8/0x174 device_initial_probe+0x20/0x2c bus_probe_device+0x40/0xa4 deferred_probe_work_func+0x7c/0xb8 process_one_work+0x128/0x21c process_scheduled_works+0x40/0x54 worker_thread+0x1ec/0x2a8 kthread+0x138/0x158 ret_from_fork+0x10/0x20
Fix it by making sure there are any bits to mask out.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-headersUpgrade kernel-tools-libsUpgrade kernel-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-modulesUpgrade kernel-zfcpdumpUpgrade kernel-zfcpdump-modulesUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-modulesUpgrade kernel-rt-debug-develUpgrade kernel-debug-modules-extraUpgrade kernel-cross-headersUpgrade kernel-rtUpgrade kernel-tools-libs-develUpgrade kernel-zfcpdump-coreUpgrade kernel-modules-extraUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-toolsUpgrade kernel-rt-debug-coreUpgrade kernel-debug-coreUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debugUpgrade bpftoolUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-coreUpgrade kernel-zfcpdump-develUpgrade kernel-docUpgrade python3-perfUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-debug-develUpgrade kernel-rt-kvmUpgrade perfUpgrade kernel-rt-devel | Sep 26, 2024 | May 22, 2024 |
| Amazon Linux Ami 2 | — | Upgrade python-perfUpgrade python-perf-debuginfoUpgrade kernelUpgrade perf-debuginfoUpgrade kernel-livepatch-4.14.252-195.481Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel-livepatch-5.10.75-79.358Upgrade kernel-toolsUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade kernel-debuginfo | Mar 14, 2025 | May 22, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 22, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perf | Jul 16, 2024 | May 22, 2024 |
| Huawei Euleros 2_0_sp8 | — | Upgrade kernel-toolsUpgrade perfUpgrade bpftoolUpgrade kernel-develUpgrade python-perfUpgrade kernel-tools-libsUpgrade kernelUpgrade kernel-headersUpgrade python3-perf | Jan 21, 2025 | May 22, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernelUpgrade kernel-tools-libs | Oct 8, 2024 | May 22, 2024 |
| Oracle_linux | — | Upgrade kernel | Oct 16, 2024 | May 22, 2024 |
| Redhat_linux | — | No solution existsUpgrade kernelUpgrade kernel-rt | Sep 25, 2024 | May 22, 2024 |
| Rocky_linux | — | Upgrade python3-perfUpgrade bpftoolUpgrade kernel-debugUpgrade kernelUpgrade kernel-cross-headersUpgrade kernel-rt-debug-develUpgrade kernel-rt-coreUpgrade kernel-tools-libs-develUpgrade kernel-rt-kvmUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-debug-coreUpgrade kernel-debug-develUpgrade kernel-rt-develUpgrade kernel-rt-debugUpgrade kernel-rt-modules-extraUpgrade kernel-develUpgrade kernel-rt-debug-modules-extraUpgrade perfUpgrade kernel-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-debug-coreUpgrade kernel-rt-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-debug-modules-extraUpgrade kernel-headersUpgrade kernel-rt-debug-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-coreUpgrade kernel-tools-libsUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-modules-extraUpgrade kernel-debug-modulesUpgrade kernel-debug-debuginfoUpgrade kernel-rt-debug-modulesUpgrade kernel-rtUpgrade kernel-modules | Oct 2, 2024 | May 22, 2024 |
| Suse | — | Upgrade kernel-kvmsmall-develUpgrade kselftests-kmp-defaultUpgrade kernel-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-default-base-rebuildUpgrade kernel-rt-extraUpgrade kernel-azure-vdsoUpgrade kernel-preemptUpgrade kernel-default-manUpgrade kernel-macrosUpgrade kernel-azure-livepatch-develUpgrade dtb-qcomUpgrade dtb-rockchipUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-defaultUpgrade kernel-azure-develUpgrade kernel-kvmsmallUpgrade kernel-source-azureUpgrade dtb-apmUpgrade kselftests-kmp-azureUpgrade kernel-debug-livepatch-develUpgrade dtb-exynosUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade ocfs2-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade kernel-syms-rtUpgrade kernel-zfcpdumpUpgrade kernel-devel-azureUpgrade kernel-docs-htmlUpgrade kernel-obs-qaUpgrade kernel-sourceUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amlogicUpgrade kernel-default-extraUpgrade reiserfs-kmp-azureUpgrade cluster-md-kmp-azureUpgrade dlm-kmp-azureUpgrade dlm-kmp-64kbUpgrade kernel-azure-baseUpgrade kernel-rt-vdsoUpgrade dtb-lgUpgrade kernel-rt-livepatch-develUpgrade kernel-source-rtUpgrade dtb-broadcomUpgrade kselftests-kmp-64kbUpgrade kernel-syms-azureUpgrade kernel-rt-optionalUpgrade gfs2-kmp-rtUpgrade kernel-64kb-optionalUpgrade dtb-sprdUpgrade ocfs2-kmp-azureUpgrade kernel-debug-develUpgrade dtb-alteraUpgrade kernel-kvmsmall-livepatch-develUpgrade dtb-amdUpgrade dtb-caviumUpgrade gfs2-kmp-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-docsUpgrade dlm-kmp-rtUpgrade dtb-freescaleUpgrade kernel-symsUpgrade kernel-rt_debug-develUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-64kb-extraUpgrade gfs2-kmp-azureUpgrade gfs2-kmp-64kbUpgrade kernel-rt-livepatchUpgrade kernel-64kb-develUpgrade kselftests-kmp-rtUpgrade kernel-default-optionalUpgrade dtb-socionextUpgrade dtb-allwinnerUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade dtb-amazonUpgrade kernel-azure-extraUpgrade cluster-md-kmp-rtUpgrade kernel-default-develUpgrade kernel-default-livepatchUpgrade dtb-mediatekUpgrade kernel-preempt-develUpgrade dtb-appleUpgrade kernel-defaultUpgrade dtb-marvellUpgrade kernel-64kb-livepatch-develUpgrade kernel-devel-rtUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-defaultUpgrade reiserfs-kmp-defaultUpgrade dtb-armUpgrade kernel-develUpgrade kernel-azure-optionalUpgrade dtb-nvidiaUpgrade dtb-hisiliconUpgrade kernel-rt-develUpgrade kernel-debugUpgrade kernel-rt_debugUpgrade kernel-64kbUpgrade kernel-default-baseUpgrade dtb-xilinxUpgrade kernel-source-vanillaUpgrade kernel-azureUpgrade kernel-debug-vdsoUpgrade dtb-renesas | Aug 9, 2024 | May 22, 2024 |
| Ubuntu | — | Upgrade linux-aws-5.4Upgrade linux-raspiUpgrade linux-awsUpgrade linux-bluefieldUpgrade linux-raspi-5.4Upgrade linuxUpgrade linux-aws-hweUpgrade linux-oracle-5.4Upgrade linux-gcp-4.15Upgrade linux-gcpUpgrade linux-azure-fipsUpgrade linux-fipsUpgrade linux-gcp-fipsUpgrade linux-hwe-5.4Upgrade linux-oracleUpgrade linux-kvmUpgrade linux-ibmUpgrade linux-gkeopUpgrade linux-azure-5.4Upgrade linux-gcp-5.4Upgrade linux-azure-4.15Upgrade linux-azureUpgrade linux-aws-fipsUpgrade linux-hwe | Nov 19, 2024 | May 22, 2024 |
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