In the Linux kernel, the following vulnerability has been resolved:
firmware_loader: Block path traversal
Most firmware names are hardcoded strings, or are constructed from fairly constrained format strings where the dynamic parts are just some hex numbers or such.
However, there are a couple codepaths in the kernel where firmware file names contain string components that are passed through from a device or semi-privileged userspace; the ones I could find (not counting interfaces that require root privileges) are:
- lpfc_sli4_request_firmware_update() seems to construct the firmware filename from "ModelName", a string that was previously parsed out of some descriptor ("Vital Product Data") in lpfc_fill_vpd() - nfp_net_fw_find() seems to construct a firmware filename from a model name coming from nfp_hwinfo_lookup(pf->hwinfo, "nffw.partno"), which I think parses some descriptor that was read from the device. (But this case likely isn't exploitable because the format string looks like "netronome/nic_%s", and there shouldn't be any *folders* starting with "netronome/nic_". The previous case was different because there, the "%s" is *at the start* of the format string.) - module_flash_fw_schedule() is reachable from the ETHTOOL_MSG_MODULE_FW_FLASH_ACT netlink command, which is marked as GENL_UNS_ADMIN_PERM (meaning CAP_NET_ADMIN inside a user namespace is enough to pass the privilege check), and takes a userspace-provided firmware name. (But I think to reach this case, you need to have CAP_NET_ADMIN over a network namespace that a special kind of ethernet device is mapped into, so I think this is not a viable attack path in practice.)
Fix it by rejecting any firmware names containing ".." path components.
For what it's worth, I went looking and haven't found any USB device drivers that use the firmware loader dangerously.
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 |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-develUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade kernel-toolsUpgrade kernel-livepatch-4.14.355-275.582Upgrade kernel-livepatch-5.15.168-114.166Upgrade bpftoolUpgrade kernel-livepatch-5.10.227-219.884Upgrade python-perf-debuginfoUpgrade python-perfUpgrade kernel-headersUpgrade perf-debuginfoUpgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-devel | Jan 22, 2025 | Oct 21, 2024 |
| Amazon_linux | — | Upgrade kernel | Feb 6, 2025 | Oct 21, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-develUpgrade kernel-modules-extra-commonUpgrade perf-debuginfoUpgrade kernelUpgrade kernel-headersUpgrade python3-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-libbpf-staticUpgrade kernel-livepatch-6.1.115-126.197Upgrade kernel-debuginfoUpgrade kernel-libbpfUpgrade kernel-tools-develUpgrade kernel-modules-extraUpgrade bpftoolUpgrade kernel-livepatch-6.1.112-124.190Upgrade python3-perfUpgrade perfUpgrade bpftool-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64 | Feb 17, 2025 | Oct 21, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Nov 11, 2024 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernelUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernel-toolsUpgrade python3-perf | Jan 14, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade python3-perf | Feb 11, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel | Feb 11, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernelUpgrade python3-perf | Jan 15, 2025 | Oct 21, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Dec 17, 2024 | Oct 21, 2024 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Oct 21, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1073-awsUpgrade linux-image-5.4.0-1140-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.15.0-127-genericUpgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-raspiUpgrade linux-image-5.4.0-208-generic-lpaeUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-6.8.0-1023-awsUpgrade linux-image-aws-lts-24.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-6.11.0-1009-awsUpgrade linux-image-5.4.0-1143-gcpUpgrade linux-image-5.15.0-1071-oracleUpgrade linux-image-gkeop-6.8Upgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1070-kvmUpgrade linux-image-5.4.0-1138-oracleUpgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidiaUpgrade linux-image-gke-5.15Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.15.0-127-generic-lpaeUpgrade linux-image-6.8.0-1025-azure-fdeUpgrade linux-image-6.8.0-1025-azureUpgrade linux-image-5.4.0-1099-bluefieldUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-6.8.0-1020-oracleUpgrade linux-image-lowlatency-64kUpgrade linux-image-oem-22.04Upgrade linux-image-genericUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-22.04dUpgrade linux-image-5.4.0-1058-xilinx-zynqmpUpgrade linux-image-6.8.0-54-generic-64kUpgrade linux-image-6.8.0-1022-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-127-generic-64kUpgrade linux-image-azureUpgrade linux-image-lowlatencyUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.4.0-1142-awsUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-6.11.0-1015-oemUpgrade linux-image-5.15.0-1068-nvidiaUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-5.4.0-1086-ibmUpgrade linux-image-ibm-classicUpgrade linux-image-5.4.0-208-lowlatencyUpgrade linux-image-ibmUpgrade linux-image-6.8.0-54-genericUpgrade linux-image-6.8.0-1019-gkeUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.0-54-lowlatency-64kUpgrade linux-image-6.8.0-1022-ibmUpgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-5.15.0-1070-gkeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-1071-intel-iotgUpgrade linux-image-6.8.0-1024-gcpUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.4.0-208-genericUpgrade linux-image-oem-20.04bUpgrade linux-image-oem-22.04aUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-gkeopUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.15.0-1039-xilinx-zynqmpUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-5.15.0-127-lowlatency-64kUpgrade linux-image-6.8.0-1024-oemUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.4.0-1127-kvmUpgrade linux-image-6.8.0-54-lowlatencyUpgrade linux-image-6.8.0-1022-nvidia-64kUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-oem-22.04bUpgrade linux-image-oem-osp1Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-1066-ibmUpgrade linux-image-intelUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-24.04aUpgrade linux-image-oem-20.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-6.8.0-1024-gcp-64kUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-fipsUpgrade linux-image-6.8.0-1019-raspiUpgrade linux-image-virtualUpgrade linux-image-5.4.0-1145-azureUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-127-lowlatencyUpgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-20.04dUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-oemUpgrade linux-image-azure-cvmUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-bluefieldUpgrade linux-image-6.11.0-18-genericUpgrade linux-image-5.15.0-1066-raspiUpgrade linux-image-realtimeUpgrade linux-image-5.15.0-1056-gkeopUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-57-genericUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-64kUpgrade linux-image-6.8.0-1022-nvidiaUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-raspi2Upgrade linux-image-oracleUpgrade linux-image-5.15.0-1068-nvidia-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-oem-24.04Upgrade linux-image-5.15.0-1072-gcpUpgrade linux-image-gcpUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-awsUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-intel-iotgUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-gkeUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-6.8.0-1022-nvidia-lowlatencyUpgrade linux-image-6.8.0-1020-oracle-64kUpgrade linux-image-6.8.0-1006-gkeopUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-57-generic-64kUpgrade linux-image-oracle-64kUpgrade linux-image-gkeop-5.15 | Dec 18, 2024 | Oct 21, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | Oct 21, 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