{"id":"CVE-2026-23061","state":"PUBLISHED","title":"can: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak\n\nFix similar memory leak as in commit 7352e1d5932a (\"can: gs_usb:\ngs_usb_receive_bulk_callback(): fix URB memory leak\").\n\nIn kvaser_usb_set_{,data_}bittiming() -> kvaser_usb_setup_rx_urbs(), the\nURBs for USB-in transfers are allocated, added to the dev->rx_submitted\nanchor and submitted. In the complete callback\nkvaser_usb_read_bulk_callback(), the URBs are processed and resubmitted. In\nkvaser_usb_remove_interfaces() the URBs are freed by calling\nusb_kill_anchored_urbs(&dev->rx_submitted).\n\nHowever, this does not take into account that the USB framework unanchors\nthe URB before the complete function is called. This means that once an\nin-URB has been completed, it is no longer anchored and is ultimately not\nreleased in usb_kill_anchored_urbs().\n\nFix the memory leak by anchoring the URB in the\nkvaser_usb_read_bulk_callback() to the dev->rx_submitted anchor.","publishedAt":"2026-02-04T16:07:43.626Z","updatedAt":"2026-10-19T18:25:28.589Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"d9d824582f2ec76459ffab449e9b05c7bc49645c","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"40a3334ffda479c63e416e61ff086485e24401f7","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"c1b39fa24c140bc616f51fef4175c1743e2bb132","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"7c308f7530bffafa994e0aa8dc651a312f4b9ff4","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"94a7fc42e21c7d9d1c49778cd1db52de5df52a01","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"3b1a593eab941c3f32417896cc7df564191f2482","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"248e8e1a125fa875158df521b30f2cc7e27eeeaa","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.8","versionType":"semver"},{"version":"5.10.249","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.199","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.162","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.122","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.68","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.8","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19","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/kvaser_usb/kvaser_usb_core.c"]}],"references":["https://git.kernel.org/stable/c/d9d824582f2ec76459ffab449e9b05c7bc49645c","https://git.kernel.org/stable/c/40a3334ffda479c63e416e61ff086485e24401f7","https://git.kernel.org/stable/c/c1b39fa24c140bc616f51fef4175c1743e2bb132","https://git.kernel.org/stable/c/7c308f7530bffafa994e0aa8dc651a312f4b9ff4","https://git.kernel.org/stable/c/94a7fc42e21c7d9d1c49778cd1db52de5df52a01","https://git.kernel.org/stable/c/3b1a593eab941c3f32417896cc7df564191f2482","https://git.kernel.org/stable/c/248e8e1a125fa875158df521b30f2cc7e27eeeaa"],"weaknesses":["CWE-401"],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/23xxx/CVE-2026-23061.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23061","state":"PUBLISHED","datePublished":"2026-02-04T16:07:43.626Z","dateUpdated":"2026-10-19T18:25:28.589Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-01-13T15:37:45.952Z"},"containers":{"cna":{"title":"can: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak\n\nFix similar memory leak as in commit 7352e1d5932a (\"can: gs_usb:\ngs_usb_receive_bulk_callback(): fix URB memory leak\").\n\nIn kvaser_usb_set_{,data_}bittiming() -> kvaser_usb_setup_rx_urbs(), the\nURBs for USB-in transfers are allocated, added to the dev->rx_submitted\nanchor and submitted. In the complete callback\nkvaser_usb_read_bulk_callback(), the URBs are processed and resubmitted. In\nkvaser_usb_remove_interfaces() the URBs are freed by calling\nusb_kill_anchored_urbs(&dev->rx_submitted).\n\nHowever, this does not take into account that the USB framework unanchors\nthe URB before the complete function is called. This means that once an\nin-URB has been completed, it is no longer anchored and is ultimately not\nreleased in usb_kill_anchored_urbs().\n\nFix the memory leak by anchoring the URB in the\nkvaser_usb_read_bulk_callback() to the dev->rx_submitted anchor."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"d9d824582f2ec76459ffab449e9b05c7bc49645c","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"40a3334ffda479c63e416e61ff086485e24401f7","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"c1b39fa24c140bc616f51fef4175c1743e2bb132","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"7c308f7530bffafa994e0aa8dc651a312f4b9ff4","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"94a7fc42e21c7d9d1c49778cd1db52de5df52a01","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"3b1a593eab941c3f32417896cc7df564191f2482","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","status":"affected","lessThan":"248e8e1a125fa875158df521b30f2cc7e27eeeaa","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.8","versionType":"semver"},{"version":"5.10.249","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.199","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.162","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.122","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.68","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.8","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19","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/kvaser_usb/kvaser_usb_core.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d9d824582f2ec76459ffab449e9b05c7bc49645c"},{"url":"https://git.kernel.org/stable/c/40a3334ffda479c63e416e61ff086485e24401f7"},{"url":"https://git.kernel.org/stable/c/c1b39fa24c140bc616f51fef4175c1743e2bb132"},{"url":"https://git.kernel.org/stable/c/7c308f7530bffafa994e0aa8dc651a312f4b9ff4"},{"url":"https://git.kernel.org/stable/c/94a7fc42e21c7d9d1c49778cd1db52de5df52a01"},{"url":"https://git.kernel.org/stable/c/3b1a593eab941c3f32417896cc7df564191f2482"},{"url":"https://git.kernel.org/stable/c/248e8e1a125fa875158df521b30f2cc7e27eeeaa"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T21:59:14.748Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"5.10.249"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"5.15.199"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.1.162"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.6.122"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.12.68"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.18.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.19"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-23061","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-06-10T20:40:41.081796Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-401","lang":"en","type":"CWE","description":"CWE-401 Missing Release of Memory after Effective Lifetime"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T18:25:28.589Z"}}]}}}