Skip to content

Evaluate Blocking vendor‑specific USB Classes (e.g., FFh) in USBGuard? #342

@Gerry-Manders

Description

@Gerry-Manders

My ethernet usb adapter shows with-interface ff:ff:00 with-connect-type "hotplug"

Base Class FFh (Vendor Specific)

This base class is defined for vendors to use as they please. These class codes can be used in both Device and Interface Descriptors.

ff:*:* is the vendor‑specific class code (class 0xFF) with a vendor‑specific subclass (0xFF) and protocol 0x00. It is commonly used by USB‑Ethernet chips (e.g., ASIX AX88179, Realtek RTL8153) and other devices that provide their own proprietary protocol over USB.

https://www.asix.com.tw/en/product/USBEthernet/Super-Speed_USB_Ethernet/AX88179A

https://devicehunt.com/view/type/usb/vendor/0B95

https://forum.openwrt.org/t/usb-to-ethernet-adapter-asix-elec-corp-ax88x72a/164968/7

F****** proprietary should I be concerned now or what? Because the class is undefined by the USB‑IF, can it also be abused to hide unexpected functionality?

With so much proprietary today is it only generic adapters that use this? Do you think its commonplace with name brand Ethernet adapters commonly found in box stores to also use vendor-specific aka proprietary?

Also both my mouse and keyboard I bought in person say HID? ( I bought in person not online)

Wired optical mouse (Walmart ONN brand) output: with-interface 03:01:02 with-connect-type "hotplug"

Wired keyboard output: with-interface { 03:01:01 03:00:00 } with-connect-type "hotplug"

The USB Ethernet Adapter I bought on Amazon so...kinda worried here

Does the driver listed with usbcore mean that it can secretly use HID or is that global dependency for the whole USB stack of all active USB devices?

user@host:~$ lsmod | grep ax88179
ax88179_178a           36864  0
usbnet                 57344  1 ax88179_178a
mii                    16384  2 usbnet,ax88179_178a
usbcore               348160  9 xhci_hcd,ehci_pci,usbnet,usbhid,usb_storage,ehci_hcd,xhci_pci,uas,ax88179_178a

Can udev be used to see which kernel driver was selected. Like If a device that should be a plain mouse or ethernet ends up bound to a generic driver that accepts vendor‑specific control transfers would that indicate a red flag?


Key points

Security surface

Vendor‑specific class FFh lets a device define its own protocol. An attacker could craft a malicious dongle that pretends to be a harmless peripheral (network card, storage, etc.) while actually executing hidden commands.

Device compatibility

A portion of consumer‑grade USB‑Ethernet adapters (ASIX AX88179, Realtek RTL8153, etc.) use class FFh.
How much that is undetermined and needs more research.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions