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.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-debug-coreUpgrade kernel-develUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-coreUpgrade kernel-debugUpgrade perfUpgrade kernel-rt-kvmUpgrade python3-perfUpgrade kernel-rt-debugUpgrade kernel-docUpgrade kernel-rt-develUpgrade kernel-zfcpdump-develUpgrade bpftoolUpgrade kernel-rt-debug-modules-extraUpgrade kernel-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-tools-libsUpgrade kernel-modulesUpgrade kernel-modules-extraUpgrade kernel-cross-headersUpgrade kernel-headersUpgrade kernel-debug-modules-extraUpgrade kernel-rt-modules-extraUpgrade kernel-toolsUpgrade kernel-rt-debug-develUpgrade kernel-debug-modulesUpgrade kernel-zfcpdumpUpgrade kernel-rtUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-modulesUpgrade kernel-tools-libs-develUpgrade kernel-abi-stablelistsUpgrade kernel-rt-debug-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-zfcpdump-coreUpgrade kernel | Sep 26, 2024 | May 22, 2024 |
| Amazon Linux Ami 2 | — | Upgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade perfUpgrade bpftoolUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-4.14.252-195.481Upgrade python-perf-debuginfoUpgrade kernel-livepatch-5.10.75-79.358Upgrade python-perfUpgrade kernelUpgrade kernel-headersUpgrade perf-debuginfo | Mar 14, 2025 | May 22, 2024 |
| Debian | — | Upgrade linux | Jul 30, 2024 | May 22, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libsUpgrade python3-perf | Jul 16, 2024 | May 22, 2024 |
| Huawei Euleros 2_0_sp8 | — | Upgrade kernel-headersUpgrade kernelUpgrade python3-perfUpgrade kernel-tools-libsUpgrade bpftoolUpgrade python-perfUpgrade kernel-develUpgrade perfUpgrade kernel-tools | Jan 21, 2025 | May 22, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools | 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 kernel-debuginfoUpgrade kernel-debug-develUpgrade perf-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-rt-debug-develUpgrade kernel-debug-coreUpgrade kernelUpgrade perfUpgrade kernel-rt-develUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-rt-coreUpgrade python3-perfUpgrade kernel-rt-kvmUpgrade kernel-debugUpgrade kernel-cross-headersUpgrade kernel-toolsUpgrade kernel-coreUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-tools-libsUpgrade kernel-rt-debug-debuginfoUpgrade kernel-headersUpgrade kernel-debug-modules-extraUpgrade bpftool-debuginfoUpgrade kernel-rt-modulesUpgrade kernel-rt-debug-coreUpgrade python3-perf-debuginfoUpgrade kernel-rt-debuginfoUpgrade kernel-modulesUpgrade kernel-rt-debug-modulesUpgrade kernel-rtUpgrade kernel-debug-debuginfoUpgrade kernel-debug-modulesUpgrade kernel-modules-extra | Oct 2, 2024 | May 22, 2024 |
| Suse | — | Upgrade kernel-rt-livepatchUpgrade kernel-default-optionalUpgrade kernel-rt_debugUpgrade kernel-azureUpgrade kernel-defaultUpgrade kernel-preempt-develUpgrade kernel-rt-develUpgrade kernel-debug-vdsoUpgrade dtb-sprdUpgrade dtb-mediatekUpgrade ocfs2-kmp-azureUpgrade kernel-azure-extraUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-default-livepatchUpgrade dtb-socionextUpgrade dtb-hisiliconUpgrade dtb-amdUpgrade dtb-alteraUpgrade kernel-64kb-optionalUpgrade kernel-debugUpgrade dtb-allwinnerUpgrade cluster-md-kmp-64kbUpgrade kernel-64kb-develUpgrade dtb-armUpgrade kernel-default-develUpgrade dtb-appleUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-default-baseUpgrade kernel-debug-develUpgrade dtb-xilinxUpgrade cluster-md-kmp-rtUpgrade dtb-nvidiaUpgrade dtb-caviumUpgrade kernel-default-livepatch-develUpgrade kernel-64kbUpgrade kernel-devel-rtUpgrade kernel-azure-optionalUpgrade reiserfs-kmp-defaultUpgrade dtb-renesasUpgrade kernel-64kb-livepatch-develUpgrade ocfs2-kmp-defaultUpgrade dlm-kmp-rtUpgrade dtb-freescaleUpgrade dtb-marvellUpgrade gfs2-kmp-defaultUpgrade kernel-docsUpgrade kernel-source-vanillaUpgrade kernel-develUpgrade kernel-symsUpgrade kernel-rt_debug-livepatch-develUpgrade dtb-amazonUpgrade gfs2-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade gfs2-kmp-azureUpgrade kernel-64kb-extraUpgrade kernel-rt_debug-develUpgrade dtb-lgUpgrade kernel-azure-livepatch-develUpgrade dtb-broadcomUpgrade reiserfs-kmp-azureUpgrade kernel-preemptUpgrade dlm-kmp-64kbUpgrade dlm-kmp-azureUpgrade kernel-obs-buildUpgrade dtb-exynosUpgrade cluster-md-kmp-defaultUpgrade dtb-apmUpgrade ocfs2-kmp-64kbUpgrade ocfs2-kmp-rtUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-rt-vdsoUpgrade kernel-default-extraUpgrade kernel-azure-baseUpgrade kernel-default-base-rebuildUpgrade kernel-macrosUpgrade kernel-default-manUpgrade kernel-azure-vdsoUpgrade kernel-rt-extraUpgrade kernel-kvmsmall-vdsoUpgrade kernel-zfcpdumpUpgrade kernel-syms-azureUpgrade kernel-sourceUpgrade kernel-rt-livepatch-develUpgrade kernel-source-rtUpgrade kselftests-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-kvmsmallUpgrade kernel-rtUpgrade kernel-obs-qaUpgrade kernel-source-azureUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-vdsoUpgrade kernel-azure-develUpgrade kselftests-kmp-defaultUpgrade dtb-amlogicUpgrade kernel-debug-livepatch-develUpgrade kernel-docs-htmlUpgrade dtb-rockchipUpgrade kernel-kvmsmall-develUpgrade kernel-syms-rtUpgrade kernel-devel-azureUpgrade kselftests-kmp-azureUpgrade dtb-qcom | Aug 9, 2024 | May 22, 2024 |
| Ubuntu | — | Upgrade linux-gcp-fipsUpgrade linux-hweUpgrade linux-azureUpgrade linux-azure-4.15Upgrade linux-gcp-5.4Upgrade linux-gcpUpgrade linux-ibmUpgrade linux-fipsUpgrade linux-kvmUpgrade linux-hwe-5.4Upgrade linux-azure-5.4Upgrade linux-gkeopUpgrade linux-oracleUpgrade linux-gcp-4.15Upgrade linux-aws-fipsUpgrade linux-azure-fipsUpgrade linux-oracle-5.4Upgrade linux-bluefieldUpgrade linux-raspi-5.4Upgrade linux-awsUpgrade linuxUpgrade linux-aws-5.4Upgrade linux-aws-hweUpgrade linux-raspi | Nov 19, 2024 | May 22, 2024 |
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