{"api_version":"1","generated_at":"2026-04-19T01:13:28+00:00","cve":"CVE-2026-23307","urls":{"html":"https://cve.report/CVE-2026-23307","api":"https://cve.report/api/cve/CVE-2026-23307.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-23307","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-23307"},"summary":{"title":"can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message\n\nWhen looking at the data in a USB urb, the actual_length is the size of\nthe buffer passed to the driver, not the transfer_buffer_length which is\nset by the driver as the max size of the buffer.\n\nWhen parsing the messages in ems_usb_read_bulk_callback() properly check\nthe size both at the beginning of parsing the message to make sure it is\nbig enough for the expected structure, and at the end of the message to\nmake sure we don't overflow past the end of the buffer for the next\nmessage.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-03-25 11:16:26","updated_at":"2026-04-18 09:16:18"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54d","name":"https://git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7b","name":"https://git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7b","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785","name":"https://git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deff","name":"https://git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deff","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2e","name":"https://git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/aed172a2e2330131f0977d2acd3ec8883f413ec1","name":"https://git.kernel.org/stable/c/aed172a2e2330131f0977d2acd3ec8883f413ec1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f10177e6c4575aedaea580ce67d792fab7a2235e","name":"https://git.kernel.org/stable/c/f10177e6c4575aedaea580ce67d792fab7a2235e","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471","name":"https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-23307","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-23307","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 aed172a2e2330131f0977d2acd3ec8883f413ec1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 f10177e6c4575aedaea580ce67d792fab7a2235e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 c703bbf8e9b4947e111c88d2ed09236a6772a471 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 1818974e1b5ef200e27f144c8cb8a246420bb54d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 18f75b9cbdc3703f15965425ab69dee509b07785 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 1cf469026d4a2308eaa91d04dca4a900d07a5c2e git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 2833e13e2b099546abf5d40a483b4eb04ddd1f7b git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 702171adeed3607ee9603ec30ce081411e36ae42 38a01c9700b0dcafe97dfa9dc7531bf4a245deff git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 2.6.32","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 2.6.32 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.253 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.203 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.167 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.130 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.77 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.17 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.19.7 6.19.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.0 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"23307","cve":"CVE-2026-23307","epss":"0.000370000","percentile":"0.108430000","score_date":"2026-04-18","updated_at":"2026-04-19 00:10:43"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/net/can/usb/ems_usb.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"aed172a2e2330131f0977d2acd3ec8883f413ec1","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"f10177e6c4575aedaea580ce67d792fab7a2235e","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"c703bbf8e9b4947e111c88d2ed09236a6772a471","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"1818974e1b5ef200e27f144c8cb8a246420bb54d","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"18f75b9cbdc3703f15965425ab69dee509b07785","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"1cf469026d4a2308eaa91d04dca4a900d07a5c2e","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"2833e13e2b099546abf5d40a483b4eb04ddd1f7b","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"},{"lessThan":"38a01c9700b0dcafe97dfa9dc7531bf4a245deff","status":"affected","version":"702171adeed3607ee9603ec30ce081411e36ae42","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/net/can/usb/ems_usb.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"2.6.32"},{"lessThan":"2.6.32","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.253","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.203","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.167","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.130","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.77","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.17","versionType":"semver"},{"lessThanOrEqual":"6.19.*","status":"unaffected","version":"6.19.7","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.0","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.253","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.203","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.167","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.130","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.77","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.17","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.19.7","versionStartIncluding":"2.6.32","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.0","versionStartIncluding":"2.6.32","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message\n\nWhen looking at the data in a USB urb, the actual_length is the size of\nthe buffer passed to the driver, not the transfer_buffer_length which is\nset by the driver as the max size of the buffer.\n\nWhen parsing the messages in ems_usb_read_bulk_callback() properly check\nthe size both at the beginning of parsing the message to make sure it is\nbig enough for the expected structure, and at the end of the message to\nmake sure we don't overflow past the end of the buffer for the next\nmessage."}],"providerMetadata":{"dateUpdated":"2026-04-18T08:57:53.252Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/aed172a2e2330131f0977d2acd3ec8883f413ec1"},{"url":"https://git.kernel.org/stable/c/f10177e6c4575aedaea580ce67d792fab7a2235e"},{"url":"https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471"},{"url":"https://git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54d"},{"url":"https://git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785"},{"url":"https://git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2e"},{"url":"https://git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7b"},{"url":"https://git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deff"}],"title":"can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-23307","datePublished":"2026-03-25T10:27:02.746Z","dateReserved":"2026-01-13T15:37:45.994Z","dateUpdated":"2026-04-18T08:57:53.252Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-03-25 11:16:26","lastModifiedDate":"2026-04-18 09:16:18","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"23307","Ordinal":"1","Title":"can: ems_usb: ems_usb_read_bulk_callback(): check the proper len","CVE":"CVE-2026-23307","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"23307","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message\n\nWhen looking at the data in a USB urb, the actual_length is the size of\nthe buffer passed to the driver, not the transfer_buffer_length which is\nset by the driver as the max size of the buffer.\n\nWhen parsing the messages in ems_usb_read_bulk_callback() properly check\nthe size both at the beginning of parsing the message to make sure it is\nbig enough for the expected structure, and at the end of the message to\nmake sure we don't overflow past the end of the buffer for the next\nmessage.","Type":"Description","Title":"can: ems_usb: ems_usb_read_bulk_callback(): check the proper len"}]}}}