USB data path is protected by checksums on the both sides.
https://www.beyondlogic.org/usbnutshell/usb3.shtml
(Watch out CRC field within USB data packet structure)
This is the quote from the original USB specification:
8.3.5 Cyclic Redundancy Checks
On the both ends of USB wire, hardwares (PIC USB peripheral and host controller on PC) check CRC to detect packet error (#1). For Control, Interrupt and Bulk transaction, the occurance of error is shared by both ends by absence (not in time) of handshake (ACK) packet at the transaction (#2). And then, host controller retries the transaction, two times more (error correction). At the third error, host controller reports transfer error to the PC driver (#3).
In Isoc transaction, error is detected, but the error handling is upto application over the USB protocol.
You can download full USB 2.0 spec for your reference here:
https://www.usb.org/document-library/usb-20-specification
Hope this helped!