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