opnsense-src/sys/dev/usb
Pierre Pronchery 82c41c9ffc umb: avoid wild pointer dereference in umb_decap()
When processing messages produced by the USB device, umb_decap() trusts
ptroff and later dlen and doff with pointer arithmetic, without
sufficient sanity checks. The resulting pointer address may be outside
of the valid boundary, causing the wrong memory to be copied or a page
fault.

This fix from Gerhard Roth was obtained after coordination upstream with
OpenBSD. It converts the variables to 64-bit integers, which should
mitigate the risk of overflows.

PR:             284920
Reported by:    Robert Morris <rtm@lcs.mit.edu>
Approved by:	philip (mentor)
Sponsored by:   The FreeBSD Foundation
2025-05-29 15:07:57 +02:00
..
controller dwc_otg_fdt: do not create and leak extra usbus child 2025-05-19 12:08:43 +03:00
gadget
input wsp: Fix whitespaces 2025-03-07 20:53:35 +03:00
misc usb: Kill left-over cdefs.h includes 2025-03-04 14:44:22 -07:00
net umb: avoid wild pointer dereference in umb_decap() 2025-05-29 15:07:57 +02:00
quirk usb/quirks: Remove overly broad quirks 2025-05-07 15:36:55 -06:00
serial usb: Kill left-over cdefs.h includes 2025-03-04 14:44:22 -07:00
storage umass: Bring in small fix from NetBSD's umass 2025-05-07 15:36:55 -06:00
template usb: Kill left-over cdefs.h includes 2025-03-04 14:44:22 -07:00
video Use bus_generic_detach instead of device_delete_children in detach 2025-01-02 13:24:28 -05:00
wlan if_run: Add sitecom device id 2025-04-01 09:00:07 +01:00
ufm_ioctl.h
uftdiio.h
uled_ioctl.h
usb.h
usb_bus.h
usb_busdma.c
usb_busdma.h
usb_cdc.h
usb_controller.h
usb_core.c
usb_core.h
usb_debug.c
usb_debug.h
usb_dev.c kern: Make fileops and filterops tables const where possible 2024-11-26 21:04:21 +00:00
usb_dev.h
usb_device.c usb: Make autoquirk code optional and opt out 2025-05-07 15:36:55 -06:00
usb_device.h
usb_dynamic.c
usb_dynamic.h
usb_endian.h
usb_error.c
usb_fdt_support.c
usb_fdt_support.h
usb_freebsd.h usb: Make autoquirk code optional and opt out 2025-05-07 15:36:55 -06:00
usb_freebsd_loader.h usb: Make autoquirk code optional and opt out 2025-05-07 15:36:55 -06:00
usb_generic.c
usb_generic.h
usb_handle_request.c
usb_hid.c
usb_hub.c
usb_hub.h
usb_hub_acpi.c
usb_hub_private.h
usb_if.m
usb_ioctl.h hidraw(4): Add additional hidraw input/output report ioctls 2025-04-27 12:07:35 +03:00
usb_lookup.c
usb_mbuf.c
usb_mbuf.h
usb_msctest.c usb-msctest: Be more conservative setting GETMAXLUN quirk 2025-03-16 13:23:25 -06:00
usb_msctest.h
usb_parse.c
usb_pci.h
usb_pf.c
usb_pf.h
usb_process.c usb: serial: allow the open/close sleep to be interruptible 2024-12-10 19:23:10 -06:00
usb_process.h usb: serial: allow the open/close sleep to be interruptible 2024-12-10 19:23:10 -06:00
usb_request.c
usb_request.h
usb_transfer.c
usb_transfer.h
usb_util.c
usb_util.h
usbdevs if_run: Add sitecom device id 2025-04-01 09:00:07 +01:00
usbdi.h usb: serial: allow the open/close sleep to be interruptible 2024-12-10 19:23:10 -06:00
usbdi_util.h
usbhid.h