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