In the Linux kernel, the following vulnerability has been resolved:
usb: gadget: f_fs: Remove WARN_ON in functionfs_bind
This commit addresses an issue related to below kernel panic where panic_on_warn is enabled. It is caused by the unnecessary use of WARN_ON in functionsfs_bind, which easily leads to the following scenarios.
1.adb_write in adbd 2. UDC write via configfs ================= =====================
->usb_ffs_open_thread() ->UDC write ->open_functionfs() ->configfs_write_iter() ->adb_open() ->gadget_dev_desc_UDC_store() ->adb_write() ->usb_gadget_register_driver_owner ->driver_register() ->StartMonitor() ->bus_add_driver() ->adb_read() ->gadget_bind_driver() <times-out without BIND event> ->configfs_composite_bind() ->usb_add_function() ->open_functionfs() ->ffs_func_bind() ->adb_open() ->functionfs_bind() <ffs->state !=FFS_ACTIVE>
The adb_open, adb_read, and adb_write operations are invoked from the daemon, but trying to bind the function is a process that is invoked by UDC write through configfs, which opens up the possibility of a race condition between the two paths. In this race scenario, the kernel panic occurs due to the WARN_ON from functionfs_bind when panic_on_warn is enabled. This commit fixes the kernel panic by removing the unnecessary WARN_ON.
Kernel panic - not syncing: kernel: panic_on_warn set ... [ 14.542395] Call trace: [ 14.542464] ffs_func_bind+0x1c8/0x14a8 [ 14.542468] usb_add_function+0xcc/0x1f0 [ 14.542473] configfs_composite_bind+0x468/0x588 [ 14.542478] gadget_bind_driver+0x108/0x27c [ 14.542483] really_probe+0x190/0x374 [ 14.542488] __driver_probe_device+0xa0/0x12c [ 14.542492] driver_probe_device+0x3c/0x220 [ 14.542498] __driver_attach+0x11c/0x1fc [ 14.542502] bus_for_each_dev+0x104/0x160 [ 14.542506] driver_attach+0x24/0x34 [ 14.542510] bus_add_driver+0x154/0x270 [ 14.542514] driver_register+0x68/0x104 [ 14.542518] usb_gadget_register_driver_owner+0x48/0xf4 [ 14.542523] gadget_dev_desc_UDC_store+0xf8/0x144 [ 14.542526] configfs_write_iter+0xf0/0x138
CVSS Details
- CVSS 3.1 Base Score: 4.7
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | Feb 10, 2025 | Jan 19, 2025 |
| Ubuntu | — | Upgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-awsUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-raspi-realtimeUpgrade linux-image-oem-20.04dUpgrade linux-image-azure-cvmUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-oem-22.04dUpgrade linux-image-virtualUpgrade linux-image-nvidia-64kUpgrade linux-image-raspi-nolpaeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-aws-lts-22.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-kvmUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.11.0-1012-azureUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-aws-lts-20.04Upgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-5.4.0-1142-awsUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-realtimeUpgrade linux-image-oracleUpgrade linux-image-5.15.0-135-fipsUpgrade linux-image-raspi2Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-gcpUpgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-bluefieldUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-ibmUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-fipsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-oem-20.04Upgrade linux-image-oemUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-nvidia-6.8Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-lowlatency-64kUpgrade linux-image-raspiUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-oem-24.04Upgrade linux-image-generic-64kUpgrade linux-image-aws-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-azureUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-genericUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1084-azureUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1029-awsUpgrade linux-image-oem-20.04cUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-gkeop-6.8Upgrade linux-image-intelUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oem-22.04cUpgrade linux-image-gkeUpgrade linux-image-oem-osp1Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-gcp-fipsUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-135-genericUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-nvidiaUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-lowlatencyUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-tegraUpgrade linux-image-5.4.0-1147-azure | Mar 28, 2025 | Jan 19, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | Jan 19, 2025 |
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