{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23061","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-01-13T15:37:45.952Z","datePublished":"2026-02-04T16:07:43.626Z","dateUpdated":"2026-05-11T21:59:14.748Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T21:59:14.748Z"},"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":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c"],"versions":[{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"d9d824582f2ec76459ffab449e9b05c7bc49645c","status":"affected","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"40a3334ffda479c63e416e61ff086485e24401f7","status":"affected","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"c1b39fa24c140bc616f51fef4175c1743e2bb132","status":"affected","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"7c308f7530bffafa994e0aa8dc651a312f4b9ff4","status":"affected","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"94a7fc42e21c7d9d1c49778cd1db52de5df52a01","status":"affected","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"3b1a593eab941c3f32417896cc7df564191f2482","status":"affected","versionType":"git"},{"version":"080f40a6fa28dab299da7a652e444b1e2d9231e7","lessThan":"248e8e1a125fa875158df521b30f2cc7e27eeeaa","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/net/can/usb/kvaser_usb/kvaser_usb_core.c"],"versions":[{"version":"3.8","status":"affected"},{"version":"0","lessThan":"3.8","status":"unaffected","versionType":"semver"},{"version":"5.10.249","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.199","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.162","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.122","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.68","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.8","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"6.19","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":"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"}]}]}],"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"}],"title":"can: kvaser_usb: kvaser_usb_read_bulk_callback(): fix URB memory leak","x_generator":{"engine":"bippy-1.2.0"}}}}