CVE-2026-23307 (GCVE-0-2026-23307)

Vulnerability from cvelistv5 – Published: 2026-03-25 10:27 – Updated: 2026-03-25 10:27
VLAI?
Title
can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message
Summary
In the Linux kernel, the following vulnerability has been resolved: can: ems_usb: ems_usb_read_bulk_callback(): check the proper length of a message When looking at the data in a USB urb, the actual_length is the size of the buffer passed to the driver, not the transfer_buffer_length which is set by the driver as the max size of the buffer. When parsing the messages in ems_usb_read_bulk_callback() properly check the size both at the beginning of parsing the message to make sure it is big enough for the expected structure, and at the end of the message to make sure we don't overflow past the end of the buffer for the next message.
Severity ?
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < c703bbf8e9b4947e111c88d2ed09236a6772a471 (git)
Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < 1818974e1b5ef200e27f144c8cb8a246420bb54d (git)
Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < 18f75b9cbdc3703f15965425ab69dee509b07785 (git)
Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < 1cf469026d4a2308eaa91d04dca4a900d07a5c2e (git)
Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < 2833e13e2b099546abf5d40a483b4eb04ddd1f7b (git)
Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < 38a01c9700b0dcafe97dfa9dc7531bf4a245deff (git)
Create a notification for this product.
    Linux Linux Affected: 2.6.32
Unaffected: 0 , < 2.6.32 (semver)
Unaffected: 6.1.167 , ≤ 6.1.* (semver)
Unaffected: 6.6.130 , ≤ 6.6.* (semver)
Unaffected: 6.12.77 , ≤ 6.12.* (semver)
Unaffected: 6.18.17 , ≤ 6.18.* (semver)
Unaffected: 6.19.7 , ≤ 6.19.* (semver)
Unaffected: 7.0-rc3 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "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": "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": "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-rc3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "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-rc3",
                  "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\u0027t overflow past the end of the buffer for the next\nmessage."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-03-25T10:27:02.746Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "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-03-25T10:27:02.746Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-23307\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-03-25T11:16:26.657\",\"lastModified\":\"2026-03-25T15:41:33.977\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"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\u0027t overflow past the end of the buffer for the next\\nmessage.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/1818974e1b5ef200e27f144c8cb8a246420bb54d\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/18f75b9cbdc3703f15965425ab69dee509b07785\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/1cf469026d4a2308eaa91d04dca4a900d07a5c2e\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/2833e13e2b099546abf5d40a483b4eb04ddd1f7b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/38a01c9700b0dcafe97dfa9dc7531bf4a245deff\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…