CVE-2026-63904
usb: usbtmc: check URB actual_length for interrupt-IN notifications
Description
In the Linux kernel, the following vulnerability has been resolved: usb: usbtmc: check URB actual_length for interrupt-IN notifications USBTMC devices can use an optional interrupt endpoint for notification messages. These typically contain two-byte headers indicating the payload format, but the driver does not check if these headers are present before accessing the data buffers. In cases where the URB actual_length is not enough to fit these headers, the driver will either cause an out-of-bounds read, or consume stale leftover data from a previous notification. Fix by checking if actual_data contains enough bytes for the headers, otherwise resubmit URB to the interrupt endpoint.
INFO
Published Date :
July 19, 2026, 4:17 p.m.
Last Modified :
July 27, 2026, 5:44 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
- Check URB actual_length before accessing interrupt-IN data.
- Resubmit URB if actual_data is insufficient for headers.
- Apply the provided kernel patch.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2026-63904.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2026-63904 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2026-63904
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2026-63904 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2026-63904 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Jul. 19, 2026
Action Type Old Value New Value Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': 'e794bd67b3faf98af46f958897f6b91412c7d2a9', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': 'e3eec3005de44e7f37d8d7724be636446516ab42', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': 'ae87f505917e703ae3b487d9663d78826ff43608', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': '5de7df75ef3a2756b25fe3d582a4a2970444fe5a', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': '69020fa089f1bf0e1a10a15265f31b143a846409', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': '75f6d3da2cc646983f41807ef98851569c12bca9', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': 'f141b01eaa58ac7e323931d670318aa247bff087', 'versionType': 'git'}, {'status': 'affected', 'version': 'dbf3e7f654c0f06a932b8fcafac78de9d0b81d68', 'lessThan': '52f2ad3f7e5eb3b5908e1d685d4342519dc9cfcd', 'versionType': 'git'}], 'programFiles': ['drivers/usb/class/usbtmc.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '4.6'}, {'status': 'unaffected', 'version': '0', 'lessThan': '4.6', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.259', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.210', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.176', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.143', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.93', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.35', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.12', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/usb/class/usbtmc.c'], 'defaultStatus': 'affected'}] Added Description In the Linux kernel, the following vulnerability has been resolved: usb: usbtmc: check URB actual_length for interrupt-IN notifications USBTMC devices can use an optional interrupt endpoint for notification messages. These typically contain two-byte headers indicating the payload format, but the driver does not check if these headers are present before accessing the data buffers. In cases where the URB actual_length is not enough to fit these headers, the driver will either cause an out-of-bounds read, or consume stale leftover data from a previous notification. Fix by checking if actual_data contains enough bytes for the headers, otherwise resubmit URB to the interrupt endpoint. Added Reference https://git.kernel.org/stable/c/52f2ad3f7e5eb3b5908e1d685d4342519dc9cfcd Added Reference https://git.kernel.org/stable/c/5de7df75ef3a2756b25fe3d582a4a2970444fe5a Added Reference https://git.kernel.org/stable/c/69020fa089f1bf0e1a10a15265f31b143a846409 Added Reference https://git.kernel.org/stable/c/75f6d3da2cc646983f41807ef98851569c12bca9 Added Reference https://git.kernel.org/stable/c/ae87f505917e703ae3b487d9663d78826ff43608 Added Reference https://git.kernel.org/stable/c/e3eec3005de44e7f37d8d7724be636446516ab42 Added Reference https://git.kernel.org/stable/c/e794bd67b3faf98af46f958897f6b91412c7d2a9 Added Reference https://git.kernel.org/stable/c/f141b01eaa58ac7e323931d670318aa247bff087