{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-63904","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T07:54:57.019Z","datePublished":"2026-07-19T14:55:11.547Z","dateUpdated":"2026-07-19T14:55:11.547Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-07-19T14:55:11.547Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: usbtmc: check URB actual_length for interrupt-IN notifications\n\nUSBTMC devices can use an optional interrupt endpoint for notification\nmessages. These typically contain two-byte headers indicating the\npayload format, but the driver does not check if these headers are\npresent before accessing the data buffers. In cases where the URB\nactual_length is not enough to fit these headers, the driver will either\ncause an out-of-bounds read, or consume stale leftover data from a\nprevious notification.\n\nFix by checking if actual_data contains enough bytes for the headers,\notherwise resubmit URB to the interrupt endpoint."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/class/usbtmc.c"],"versions":[{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"e794bd67b3faf98af46f958897f6b91412c7d2a9","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"e3eec3005de44e7f37d8d7724be636446516ab42","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"ae87f505917e703ae3b487d9663d78826ff43608","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"5de7df75ef3a2756b25fe3d582a4a2970444fe5a","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"69020fa089f1bf0e1a10a15265f31b143a846409","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"75f6d3da2cc646983f41807ef98851569c12bca9","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"f141b01eaa58ac7e323931d670318aa247bff087","status":"affected","versionType":"git"},{"version":"dbf3e7f654c0f06a932b8fcafac78de9d0b81d68","lessThan":"52f2ad3f7e5eb3b5908e1d685d4342519dc9cfcd","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/class/usbtmc.c"],"versions":[{"version":"4.6","status":"affected"},{"version":"0","lessThan":"4.6","status":"unaffected","versionType":"semver"},{"version":"5.10.259","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.210","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.176","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.143","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.93","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.35","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.0.12","lessThanOrEqual":"7.0.*","status":"unaffected","versionType":"semver"},{"version":"7.1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"5.10.259"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"5.15.210"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.1.176"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.6.143"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.12.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"6.18.35"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"7.0.12"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.6","versionEndExcluding":"7.1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/e794bd67b3faf98af46f958897f6b91412c7d2a9"},{"url":"https://git.kernel.org/stable/c/e3eec3005de44e7f37d8d7724be636446516ab42"},{"url":"https://git.kernel.org/stable/c/ae87f505917e703ae3b487d9663d78826ff43608"},{"url":"https://git.kernel.org/stable/c/5de7df75ef3a2756b25fe3d582a4a2970444fe5a"},{"url":"https://git.kernel.org/stable/c/69020fa089f1bf0e1a10a15265f31b143a846409"},{"url":"https://git.kernel.org/stable/c/75f6d3da2cc646983f41807ef98851569c12bca9"},{"url":"https://git.kernel.org/stable/c/f141b01eaa58ac7e323931d670318aa247bff087"},{"url":"https://git.kernel.org/stable/c/52f2ad3f7e5eb3b5908e1d685d4342519dc9cfcd"}],"title":"usb: usbtmc: check URB actual_length for interrupt-IN notifications","x_generator":{"engine":"bippy-1.2.0"}}}}