In the Linux kernel, the following vulnerability has been resolved:
media: ngene: Fix out-of-bounds bug in ngene_command_config_free_buf()
Fix an 11-year old bug in ngene_command_config_free_buf() while addressing the following warnings caught with -Warray-bounds:
arch/alpha/include/asm/string.h:22:16: warning: '__builtin_memcpy' offset [12, 16] from the object at 'com' is out of the bounds of referenced subobject 'config' with type 'unsigned char' at offset 10 [-Warray-bounds] arch/x86/include/asm/string_32.h:182:25: warning: '__builtin_memcpy' offset [12, 16] from the object at 'com' is out of the bounds of referenced subobject 'config' with type 'unsigned char' at offset 10 [-Warray-bounds]
The problem is that the original code is trying to copy 6 bytes of data into a one-byte size member _config_ of the wrong structue FW_CONFIGURE_BUFFERS, in a single call to memcpy(). This causes a legitimate compiler warning because memcpy() overruns the length of &com.cmd.ConfigureBuffers.config. It seems that the right structure is FW_CONFIGURE_FREE_BUFFERS, instead, because it contains 6 more members apart from the header _hdr_. Also, the name of the function ngene_command_config_free_buf() suggests that the actual intention is to ConfigureFreeBuffers, instead of ConfigureBuffers (which takes place in the function ngene_command_config_buf(), above).
Fix this by enclosing those 6 members of struct FW_CONFIGURE_FREE_BUFFERS into new struct config, and use &com.cmd.ConfigureFreeBuffers.config as the destination address, instead of &com.cmd.ConfigureBuffers.config, when calling memcpy().
This also helps with the ongoing efforts to globally enable -Warray-bounds and get us closer to being able to tighten the FORTIFY_SOURCE routines on memcpy().
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux | Jul 30, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernel-toolsUpgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libs | Oct 8, 2024 | May 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade python3-perfUpgrade kernel-tools | Oct 8, 2024 | May 21, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | May 21, 2024 |
| Suse | — | Upgrade kernel-macrosUpgrade kernel-default-extraUpgrade kernel-default-manUpgrade kernel-azure-develUpgrade kernel-azureUpgrade kernel-zfcpdumpUpgrade kernel-syms-azureUpgrade kernel-preemptUpgrade kernel-source-azureUpgrade kernel-sourceUpgrade kernel-devel-azureUpgrade kernel-azure-baseUpgrade kernel-obs-buildUpgrade reiserfs-kmp-defaultUpgrade kernel-64kbUpgrade kernel-symsUpgrade kernel-default-develUpgrade kernel-develUpgrade kernel-64kb-develUpgrade kernel-preempt-develUpgrade kernel-docsUpgrade kernel-default-baseUpgrade kernel-default | Aug 9, 2024 | May 21, 2024 |
| Ubuntu | — | Upgrade linux-aws-5.4Upgrade linux-gcp-5.4Upgrade linux-gcp-4.15Upgrade linux-oracle-5.4Upgrade linux-gkeopUpgrade linuxUpgrade linux-azure-4.15Upgrade linux-azure-fipsUpgrade linux-awsUpgrade linux-gcp-fipsUpgrade linux-fipsUpgrade linux-raspi-5.4Upgrade linux-azure-5.4Upgrade linux-raspiUpgrade linux-ibmUpgrade linux-hweUpgrade linux-azureUpgrade linux-oracleUpgrade linux-aws-hweUpgrade linux-aws-fipsUpgrade linux-gcpUpgrade linux-kvmUpgrade linux-hwe-5.4Upgrade linux-bluefield | Nov 19, 2024 | May 21, 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