CVE-2023-53761: USB: usbtmc: Fix direction for 0-length ioctl control messages
In the Linux kernel, the following vulnerability has been resolved:
USB: usbtmc: Fix direction for 0-length ioctl control messages
The syzbot fuzzer found a problem in the usbtmc driver: When a user
submits an ioctl for a 0-length control transfer, the driver does not
check that the direction is set to OUT:
------------[ cut here ]------------
usb 3-1: BOGUS control dir, pipe 80000b80 doesn't match bRequestType fd
WARNING: CPU: 0 PID: 5100 at drivers/usb/core/urb.c:411 usb_submit_urb+0x14a7/0x1880 drivers/usb/core/urb.c:411
Modules linked in:
CPU: 0 PID: 5100 Comm: syz-executor428 Not tainted 6.3.0-syzkaller-12049-g58390c8ce1bd #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/14/2023
RIP: 0010:usb_submit_urb+0x14a7/0x1880 drivers/usb/core/urb.c:411
Code: 7c 24 40 e8 1b 13 5c fb 48 8b 7c 24 40 e8 21 1d f0 fe 45 89 e8 44 89 f1 4c 89 e2 48 89 c6 48 c7 c7 e0 b5 fc 8a e8 19 c8 23 fb <0f> 0b e9 9f ee ff ff e8 ed 12 5c fb 0f b6 1d 12 8a 3c 08 31 ff 41
RSP: 0018:ffffc90003d2fb00 EFLAGS: 00010282
RAX: 0000000000000000 RBX: ffff8880789e9058 RCX: 0000000000000000
RDX: ffff888029593b80 RSI: ffffffff814c1447 RDI: 0000000000000001
RBP: ffff88801ea742f8 R08: 0000000000000001 R09: 0000000000000000
R10: 0000000000000001 R11: 0000000000000001 R12: ffff88802915e528
R13: 00000000000000fd R14: 0000000080000b80 R15: ffff8880222b3100
FS: 0000555556ca63c0(0000) GS:ffff8880b9800000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f9ef4d18150 CR3: 0000000073e5b000 CR4: 00000000003506f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
usb_start_wait_urb+0x101/0x4b0 drivers/usb/core/message.c:58
usb_internal_control_msg drivers/usb/core/message.c:102 [inline]
usb_control_msg+0x320/0x4a0 drivers/usb/core/message.c:153
usbtmc_ioctl_request drivers/usb/class/usbtmc.c:1954 [inline]
usbtmc_ioctl+0x1b3d/0x2840 drivers/usb/class/usbtmc.c:2097
To fix this, we must override the direction in the bRequestType field
of the control request structure when the length is 0.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel USB driver flaw in the usbtmc component. A malformed zero-length control request can make the driver submit a USB request with the wrong direction. Public sources show a syzbot-triggered kernel warning and a kernel fix, but do not establish remote exploitation or business impact beyond affected kernel exposure.
Executive priority
Handle through normal kernel maintenance unless affected hosts expose USB TMC devices to untrusted users or lab environments. No source indicates active exploitation, but kernel driver issues should not remain indefinitely unpatched.
Technical view
The usbtmc ioctl path failed to force OUT direction for zero-length control transfers. The mismatch between bRequestType direction and the USB pipe triggered a usb_submit_urb warning. The stated fix overrides the bRequestType direction when transfer length is zero. Affected data is limited to Linux kernel versions and stable commit references in the CVE bundle.
Likely exposure
Likely exposure is Linux systems running affected kernels with the USB usbtmc driver reachable by users or processes that can interact with USB Test and Measurement Class devices. Systems without relevant USB device access or without the driver enabled have lower practical exposure, but should still follow vendor kernel guidance.
Exploitation context
The source bundle cites syzbot fuzzing and kernel warning output. It does not cite CISA KEV listing, active exploitation, public exploit use, privilege escalation, remote attack, or confirmed denial-of-service impact. Treat exploitation status as unconfirmed.
Researcher notes
Evidence is narrow: the CVE description gives the vulnerable condition, syzbot trace, and fix direction, but no CVSS, CWE, or explicit impact. Analysis should avoid assuming code execution or privilege escalation without additional vendor evidence.
Mitigation direction
Apply Linux vendor kernel updates that include the referenced usbtmc stable fixes.
Check distribution advisories for package-specific fixed kernel versions.
Limit local access to USB TMC devices where practical.
Disable or avoid loading usbtmc if the driver is unnecessary.
Track upstream and distribution guidance for impact clarification.
Validation and detection
Inventory running kernel versions on systems with USB access.
Check whether the usbtmc module is present, loaded, or built in.
Identify hosts using USB Test and Measurement Class devices.
Confirm installed kernels include one of the referenced stable fixes.
Review logs for related usb_submit_urb or usbtmc warnings.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2023-53761 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
7Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Dec 8, 2025, 01:19 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.