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 kernelUpgrade bpftoolUpgrade kernel-toolsUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-4.14.355-275.582Upgrade kernel-livepatch-5.10.227-219.884Upgrade kernel-tools-develUpgrade kernel-livepatch-5.15.168-114.166Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade perfUpgrade kernel-headersUpgrade python-perfUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade python-perf-debuginfo | Jan 22, 2025 | Oct 21, 2024 |
| Amazon_linux | — | Upgrade kernel | Feb 6, 2025 | Oct 21, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade bpftool-debuginfoUpgrade bpftoolUpgrade kernel-libbpf-staticUpgrade kernel-debuginfoUpgrade python3-perf-debuginfoUpgrade perfUpgrade kernel-toolsUpgrade kernel-livepatch-6.1.115-126.197Upgrade kernel-debuginfo-common-aarch64Upgrade python3-perfUpgrade kernel-livepatch-6.1.112-124.190Upgrade kernel-libbpfUpgrade kernel-modules-extraUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade kernelUpgrade kernel-modules-extra-commonUpgrade kernel-libbpf-develUpgrade kernel-headers | Feb 17, 2025 | Oct 21, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Nov 11, 2024 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernel | Jan 14, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-tools-libsUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-toolsUpgrade bpftool | Feb 11, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade python3-perf | Feb 11, 2025 | Oct 21, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernel-toolsUpgrade python3-perfUpgrade kernelUpgrade kernel-tools-libs | 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-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-54-lowlatency-64kUpgrade linux-image-ibmUpgrade linux-image-5.4.0-208-lowlatencyUpgrade linux-image-6.8.0-54-genericUpgrade linux-image-gcp-64kUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-oem-20.04bUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.4.0-208-genericUpgrade linux-image-6.8.0-1019-gkeUpgrade linux-image-5.15.0-127-genericUpgrade linux-image-5.15.0-127-generic-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-gke-5.15Upgrade linux-image-6.11.0-1009-awsUpgrade linux-image-aws-lts-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-azure-fdeUpgrade linux-image-5.4.0-1143-gcpUpgrade linux-image-raspiUpgrade linux-image-5.15.0-1070-kvmUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1070-gkeUpgrade linux-image-5.15.0-1068-nvidiaUpgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1071-intel-iotgUpgrade linux-image-5.15.0-127-lowlatency-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1039-xilinx-zynqmpUpgrade linux-image-azureUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.4.0-1140-awsUpgrade linux-image-5.15.0-1071-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-6.8.0-54-generic-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-6.11.0-1015-oemUpgrade linux-image-lowlatencyUpgrade linux-image-5.4.0-1086-ibmUpgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-5.15.0-1078-azureUpgrade linux-image-azure-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.4.0-1142-awsUpgrade linux-image-oem-22.04Upgrade linux-image-5.4.0-1099-bluefieldUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-127-generic-lpaeUpgrade linux-image-6.8.0-1025-azureUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-genericUpgrade linux-image-5.4.0-1058-xilinx-zynqmpUpgrade linux-image-6.8.0-1022-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1073-awsUpgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-6.8.0-1024-gcpUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1020-oracleUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1023-awsUpgrade linux-image-azure-lts-24.04Upgrade linux-image-nvidiaUpgrade linux-image-gkeopUpgrade linux-image-5.4.0-1138-oracleUpgrade linux-image-5.4.0-208-generic-lpaeUpgrade linux-image-6.8.0-1022-ibmUpgrade linux-image-6.8.0-1025-azure-fdeUpgrade linux-image-generic-64kUpgrade linux-image-ibm-classicUpgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-realtimeUpgrade linux-image-6.8.0-1024-gcp-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-gkeop-5.15Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-oem-osp1Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-5.15.0-1066-raspiUpgrade linux-image-5.15.0-1066-ibmUpgrade linux-image-5.15.0-1056-gkeopUpgrade linux-image-fipsUpgrade linux-image-6.8.0-57-genericUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.11.0-18-genericUpgrade linux-image-azure-lts-20.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-1127-kvmUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.8.0-1022-nvidia-64kUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-nvidia-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-virtualUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-intelUpgrade linux-image-oem-20.04dUpgrade linux-image-raspi2Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-oemUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-oracleUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-5.4.0-1145-azureUpgrade linux-image-5.15.0-127-lowlatencyUpgrade linux-image-azure-cvmUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.8.0-1006-gkeopUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-5.15.0-1068-nvidia-lowlatencyUpgrade linux-image-6.8.0-1020-oracle-64kUpgrade linux-image-oracle-64kUpgrade linux-image-gcpUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-54-lowlatencyUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1019-raspiUpgrade linux-image-gkeUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.8.0-1024-oemUpgrade linux-image-oem-24.04aUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-57-generic-64kUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-oem-20.04Upgrade linux-image-kvmUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-awsUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-1022-nvidia-lowlatencyUpgrade linux-image-6.8.0-1022-nvidiaUpgrade linux-image-5.15.0-1072-gcpUpgrade linux-image-snapdragon-hwe-18.04 | 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