* usbutils 020 release
@ 2026-10-22 6:51 Greg KH
0 siblings, 0 replies; only message in thread
From: Greg KH @ 2026-10-22 6:51 UTC (permalink / raw)
To: linux-usb, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 10602 bytes --]
Another year later, so it's time for a new usbutils release.
I'd like to announce the usbutils 020 release.
Lots of fuzzing fixes in this release for 'bad' devices, now that people
are starting to worry more about these types of USB devices. I'm not
guaranteeing that all "malformed" USB devices will now not crash the
codebase, but we should be a better off than in the past. As usbutils
is NOT something that is a "security boundry" this really isn't a
problem in real life, but it is nice to harden up the USB descriptor
parser a lot. Thanks to lots of OS fuzzing rounds, we should be better
off here. There's also now a built in "test suite" that can help make
modifying the code a bit easier to verify that nothing obvious is
different from the system-installed version of the tools (unless you are
wanting there to be a change, and in that case, you can ignore the test
failures.)
Other than that, there's some new support for a newer USB spec, and the
constant churn of "where is the usb ids file located now?" work to
handle more distros and systems, and some cleanups of 'lsusb -t' to make
it more obvious which device is which at times.
Full details of the changes in this are found below in the shortlog.
Tarballs can be found on kernel.org here:
https://www.kernel.org/pub/linux/utils/usb/usbutils/
Or you can pull from the following git locations as well:
https://git.sr.ht/~gregkh/usbutils
https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usbutils.git
https://github.com/gregkh/usbutils
https://github.com/linux-usb/usbutils
thanks,
greg k-h
------------
usbutils 020
============
Armin Wolf (1):
lsusb: Add support for FWStatus Capability decoding
Greg Kroah-Hartman (124):
justfile: add 'make' target
usb-spec.h: fix up spelling mistake for "Tone Enable" entry
tests: vendor brat 0.10.1 as the test runner
tests: compare built lsusb against the installed copy
tests: lsusb -h: compare built against installed
tests: lsusb -t: compare built against installed
tests: lsusb -s: compare built against installed
tests: lsusb -d: compare built against installed
tests: lsusb -D: compare built against installed
tests: usb-devices: compare built against installed
tests: lsusb.py: compare built against installed
tests: lsusb.py -h: compare built against installed
tests: lsusb.py -i: compare built against installed
tests: lsusb.py -I: compare built against installed
tests: lsusb.py -u: compare built against installed
tests: lsusb.py -U: compare built against installed
tests: lsusb.py -c: compare built against installed
tests: lsusb.py -C: compare built against installed tests:
lsusb.py -e: compare built against installed
tests: lsusb.py -w: compare built against installed
tests: lsusb.py -f: compare built against installed
justfile: add 'test' target
desc-dump: fix operator precedence bug in bit-to-byte conversion
usbmisc: fix NULL dereference on getcwd() failure in get_absolute_path()
usbmisc: check malloc() return in get_dev_string_ascii()
usbmisc: check malloc() return in usb_string_to_native()
usbmisc: fix unbounded recursion and strncpy issues in readlink_recursive()
names: replace sprintf() with snprintf() for modalias formatting
lsusb-t: replace sprintf() with snprintf() in lanes_to_str()
desc-dump: fix NULL pointer dereference for unknown audio terminal types
desc-dump: fix integer underflow in get_array_entry_count()
names: fix missing null termination in get_vendor_product_with_fallback()
sysfs: fix buffer handling in read_sysfs_prop()
sysfs: check initial snprintf() return value in get_sysfs_name()
lsusb: fix out-of-bounds array access in dump_encryption_type()
lsusb: fix out-of-bounds reads in video EXTENSION_UNIT descriptor parsing
lsusb: fix unaligned memory access in dump_printer_device()
lsusb: fix out-of-bounds read in video HEADER descriptor parsing
lsusb: fix out-of-bounds read in HID report descriptor parsing
lsusb: replace sprintf() with snprintf() in get_guid()
lsusb: fix out-of-bounds read in MIDI streaming endpoint descriptor
lsusb: fix out-of-bounds read in STILL_IMAGE_FRAME descriptor parsing
lsusb-t: fix buffer handling in read_sysfs_file_string()
lsusb: fix wrong variable in FORMAT_TYPE_II descriptor length calculation
lsusb: fix out-of-bounds reads in video INPUT_HEADER and OUTPUT_HEADER
lsusb: fix out-of-bounds reads in video PROCESSING_UNIT descriptor
lsusb: fix out-of-bounds reads in video terminal and selector descriptors
lsusb: fix undefined behavior in convert_le_u32() signed shift
lsusb: fix OOB reads in UAC1 audio FORMAT_TYPE descriptor parsing
lsusb: fix out-of-bounds read in SuperSpeedPlus capability descriptor
lsusb: fix OOB reads in audio FORMAT_SPECIFIC descriptor parsing
lsusb: fix out-of-bounds reads in IPP printer descriptor parsing
lsusb: add missing length checks in dump_wire_adapter and dump_rc_interface
lsusb: add missing length checks in dump_security and dump_encryption_type
lsusb: fix OOB read in dump_dfu_interface on short descriptors
lsusb: add missing length check in dump_association()
lsusb: fix out-of-bounds reads in dump_hid_device() on short descriptors
lsusb: fix OOB reads in UAC2 FORMAT_TYPE descriptor parsing
lsusb: fix OOB reads in MIDI HEADER and MIDI_IN_JACK descriptor parsing
lsusb: fix OOB read in dump_videocontrol_interrupt_endpoint()
lsusb: fix OOB reads in video streaming format descriptors
lsusb: fix OOB reads in video FRAME descriptor parsing
lsusb: fix remaining OOB read in MIDI_OUT_JACK initial fields
lsusb: fix remaining OOB reads in video descriptor warn-and-continue paths
lsusb: fix OOB reads in video INPUT_HEADER and OUTPUT_HEADER data loops
lsusb: fix OOB read in STILL_IMAGE_FRAME compression pattern loop
lsusb: fix OOB read in FORMAT_MPEG2TS descriptor on short descriptors
lsusb: zero hub descriptor buffer to prevent reading uninitialized data
lsusb: fix OOB read in FORMAT_STREAM_BASED descriptor parsing
lsusb: fix unsigned integer underflow in dump_bytes calls for short descriptors
lsusb: fix wrong byte printed for CCID bClassEnvelope
lsusb: bounds-check MIDI ELEMENT bNrInputPins/bElCapsSize against bLength
lsusb: bounds-check UVC INPUT_TERMINAL bControlSize against bLength
lsusb.py: strip control characters from device-supplied sysfs strings
usbreset: refuse ambiguous selectors that match more than one device
usbmisc, usb-devices: strip control characters from device-supplied strings
lsusb: don't loop forever in find_otg() on a zero-bLength sub-descriptor
desc-defs: fix off-by-one in UAC1 wFormatTag string lookup
lsusb: bounds-check the BOS device-capability walk
usbhid-dump: skip interfaces with bInterfaceNumber 0xff
usb-devices: use printf instead of echo for device-supplied strings
usb-devices: fix default case in class_decode()
lsusb: strip control characters from the WebUSB landing-page URL
lsusb: bound the report-fetch loop in dump_hid_device() too
lsusb: bounds-check MIDI OUT_JACK bNrInputPins against bLength
lsusb: bounds-check IPP printer capability walk against bLength
desc-dump: bound get_value_from_field() against descriptor length
sysfs: strip control characters from device-supplied string attributes
lsusb, usbmisc, usbhid-dump: zero-init buffers passed to libusb control transfers
lsusb: migrate the MIDIStreaming parsers onto the desc-dump table engine
desc-dump: don't exit() on a device-supplied size_field value
lsusb: return on short bLength in the class-specific descriptor dispatchers
lsusb: check FORMAT_TYPE bLength before reading bFormatType
lsusb: avoid undefined behaviour when assembling u32s from descriptor bytes
lsusb: bound the extra[] dispatch loops by remaining size
lsusb: fix wHubDelay decoding in the USB3 hub descriptor dump
usbhid-dump: bound the HID-descriptor-extra walk by entry end, not start
lsusb: fix two -D path-resolution edge cases in usbmisc.c
lsusb: don't pass NULL into %s for unknown HID report/usage tags
tests: brat: fix some spelling issues
usbutils.spdx: update with new files added
lsusb: add expected length message for video descriptor endpoint
meson.build: turn off -Wno-unused-function
lsusb: fix up parsing for older uvc devices
tests: usbhid-dump: compare built against installed
tests: usbhid-dump -h: compare built against installed
tests: usbhid-dump -s: compare built against installed
tests: usbhid-dump -d: compare built against installed
tests: usbhid-dump -i: compare built against installed
tests: usbhid-dump -e: compare built against installed
tests: add lsusb argument-combination brat tests
tests: add lsusb.py argument-combination brat tests
tests: add lsusb -h/-V interaction test
tests: add lsusb -t precedence test (-s/-d/-D ignored under -t)
tests: add lsusb -D precedence test (-s/-d ignored under -D)
tests: add lsusb -V precedence test
tests: add lsusb -h precedence test
tests: add lsusb repeated -s/-d/-D test
tests: add lsusb -d :pid product-only filter test
tests: add lsusb -D error-path tests
tests: add lsusb -P/-p vestigial-option test
tests: add lsusb -- end-of-options test
test/lsusb-vv.brat: send errors to /dev/null
lsusb-t: fall back to the sysfs vendor/product strings
Jefferson Kline (1):
usbreset: return failure when device reset fails
John Whittington (1):
lsusb.c: fix typo dwMaxiumumClock
MingHao Chen (1):
lsusb.py: fix parse_usb_ids
MoJl4yH (1):
lsusb: fix shift UB and truncated-item reads in HID report dump
dependabot[bot] (8):
ci: bump github/codeql-action in the all-actions group
ci: bump the all-actions group with 5 updates
ci: bump the all-actions group across 1 directory with 4 updates
ci: bump github/codeql-action in the all-actions group
ci: bump the all-actions group with 2 updates
ci: bump the all-actions group with 5 updates
ci: bump the all-actions group with 5 updates
ci: bump the all-actions group across 1 directory with 3 updates
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-10-22 6:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-22 6:51 usbutils 020 release Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®