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 linuxUpgrade linux-6.1 | Feb 10, 2025 | Jan 19, 2025 |
| Ubuntu | — | Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oem-22.04dUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-20.04dUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-bluefieldUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-raspi2Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-awsUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-6.8.0-60-genericUpgrade linux-image-oem-24.04aUpgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-oracleUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-64kUpgrade linux-image-oem-22.04bUpgrade linux-image-azure-fdeUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-aws-lts-20.04Upgrade linux-image-azure-fipsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-gcpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-virtualUpgrade linux-image-aws-lts-22.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-kvmUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-realtimeUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-oracle-64kUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-oemUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-azure-lts-24.04Upgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-ibm-classicUpgrade linux-image-oem-osp1Upgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-azureUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-azure-lts-20.04Upgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-136-genericUpgrade linux-image-azure-lts-22.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-azure-nvidiaUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-oem-20.04bUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-intelUpgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-fipsUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-gkeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-oem-22.04cUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-generic-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-oem-22.04aUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-lowlatencyUpgrade linux-image-oem-20.04cUpgrade linux-image-nvidiaUpgrade linux-image-raspiUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-6.8.0-1029-awsUpgrade linux-image-gkeopUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-genericUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-135-genericUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-6.11.0-21-genericUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-oem-24.04bUpgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-ibmUpgrade linux-image-oem-24.04Upgrade linux-image-aws-fipsUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-oem-20.04Upgrade linux-image-5.4.0-1142-aws-fips | 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