{"id":"CVE-2025-68342","state":"PUBLISHED","title":"can: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing data","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing data\n\nThe URB received in gs_usb_receive_bulk_callback() contains a struct\ngs_host_frame. The length of the data after the header depends on the\ngs_host_frame hf::flags and the active device features (e.g. time\nstamping).\n\nIntroduce a new function gs_usb_get_minimum_length() and check that we have\nat least received the required amount of data before accessing it. Only\ncopy the data to that skb that has actually been received.\n\n[mkl: rename gs_usb_get_minimum_length() -> +gs_usb_get_minimum_rx_length()]","publishedAt":"2025-12-23T13:58:27.579Z","updatedAt":"2026-10-30T12:23:14.781Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"8376208db9283fbdfaa06c8d80735ac9954fa64a","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"4ffac725154cf6a253f5e6aa0c8946232b6a0af5","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"ad55004a3cb5b41ef78aa6c09e7bc5a489ba652b","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"fb0c7c77a7ae3a2c3404b7d0173b8739a754b513","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"395d988f93861101ec89d0dd9e3b876ae9392a5b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/gs_usb.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.16","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.16","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.119","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.61","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.17.11","status":"unaffected","lessThanOrEqual":"6.17.*","versionType":"semver"},{"version":"6.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/gs_usb.c"]}],"references":["https://git.kernel.org/stable/c/8376208db9283fbdfaa06c8d80735ac9954fa64a","https://git.kernel.org/stable/c/4ffac725154cf6a253f5e6aa0c8946232b6a0af5","https://git.kernel.org/stable/c/ad55004a3cb5b41ef78aa6c09e7bc5a489ba652b","https://git.kernel.org/stable/c/fb0c7c77a7ae3a2c3404b7d0173b8739a754b513","https://git.kernel.org/stable/c/395d988f93861101ec89d0dd9e3b876ae9392a5b"],"weaknesses":[],"ingestedAt":"2026-10-30T12:40:04.423Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/68xxx/CVE-2025-68342.json","commit":"db8103c5921aac81d5d90efcf3745980dafabf49","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-68342","state":"PUBLISHED","datePublished":"2025-12-23T13:58:27.579Z","dateUpdated":"2026-10-30T12:23:14.781Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-16T14:48:05.298Z"},"containers":{"cna":{"title":"can: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing data","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing data\n\nThe URB received in gs_usb_receive_bulk_callback() contains a struct\ngs_host_frame. The length of the data after the header depends on the\ngs_host_frame hf::flags and the active device features (e.g. time\nstamping).\n\nIntroduce a new function gs_usb_get_minimum_length() and check that we have\nat least received the required amount of data before accessing it. Only\ncopy the data to that skb that has actually been received.\n\n[mkl: rename gs_usb_get_minimum_length() -> +gs_usb_get_minimum_rx_length()]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"8376208db9283fbdfaa06c8d80735ac9954fa64a","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"4ffac725154cf6a253f5e6aa0c8946232b6a0af5","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"ad55004a3cb5b41ef78aa6c09e7bc5a489ba652b","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"fb0c7c77a7ae3a2c3404b7d0173b8739a754b513","versionType":"git"},{"version":"d08e973a77d128b25e01a08c34d89593fdf222da","status":"affected","lessThan":"395d988f93861101ec89d0dd9e3b876ae9392a5b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/gs_usb.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.16","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.16","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.119","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.61","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.17.11","status":"unaffected","lessThanOrEqual":"6.17.*","versionType":"semver"},{"version":"6.18","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/gs_usb.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/8376208db9283fbdfaa06c8d80735ac9954fa64a"},{"url":"https://git.kernel.org/stable/c/4ffac725154cf6a253f5e6aa0c8946232b6a0af5"},{"url":"https://git.kernel.org/stable/c/ad55004a3cb5b41ef78aa6c09e7bc5a489ba652b"},{"url":"https://git.kernel.org/stable/c/fb0c7c77a7ae3a2c3404b7d0173b8739a754b513"},{"url":"https://git.kernel.org/stable/c/395d988f93861101ec89d0dd9e3b876ae9392a5b"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:23:14.781Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.6.119"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.12.61"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.17.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.18"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}