Description

Google is rolling out a new "Unrestricted WebUSB" feature in Chrome, allowing trusted isolated web applications to circumvent particular security limitations within the WebUSB API. The WebUSB API enables web applications to access local USB devices, but it restricts access to certain interface classes, such as audio, HID, mass storage, smart card, video, audio/video devices, and wireless controllers, to protect sensitive data. Additionally, the API blocks access to specific USB devices like YubiKeys, Google Titan keys, and Feitian security keys, which are crucial for multi-factor authentication. With the Unrestricted WebUSB feature, isolated web apps can access these restricted devices and interfaces if granted the "usb-unrestricted" Permission Policy feature. These isolated web apps are packaged into Web Bundles, signed by their developers, and distributed to end-users, often for in-house corporate use, rather than being hosted on live web servers. When an app is granted the "usb-unrestricted" permission and attempts to access a USB device, the system first checks if the device is on a blocklist of vulnerable devices. Normally, access would be denied, but apps with the required permission override this restriction. Next, the system verifies if the device is included in the app's approved devices list and ensures that the accessed interface is secure. Without the correct permissions, access is denied. This feature enhances the functionality of trusted isolated web apps, enabling them to interact securely with a broader range of USB devices. Google plans to test this feature in Chrome 128, expected to be released in August 2024.