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

Vulnerability from cvelistv5 – Published: 2026-03-25 10:27 – Updated: 2026-04-18 08:57
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 , < aed172a2e2330131f0977d2acd3ec8883f413ec1 (git)
Affected: 702171adeed3607ee9603ec30ce081411e36ae42 , < f10177e6c4575aedaea580ce67d792fab7a2235e (git)
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: 5.10.253 , ≤ 5.10.* (semver)
Unaffected: 5.15.203 , ≤ 5.15.* (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 , ≤ * (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": "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\u0027t 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",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-23307",
      "date": "2026-04-25",
      "epss": "0.00037",
      "percentile": "0.1092"
    },
    "nvd": "{\"cve\":{\"id\":\"CVE-2026-23307\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-03-25T11:16:26.657\",\"lastModified\":\"2026-04-18T09:16:18.340\",\"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.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\\n\\ncan: ems_usb: ems_usb_read_bulk_callback(): comprobar la longitud adecuada de un mensaje\\n\\nAl examinar los datos en un urb USB, la actual_length es el tama\u00f1o del b\u00fafer pasado al controlador, no la transfer_buffer_length que es establecida por el controlador como el tama\u00f1o m\u00e1ximo del b\u00fafer.\\n\\nAl analizar los mensajes en ems_usb_read_bulk_callback(), comprobar correctamente el tama\u00f1o tanto al principio del an\u00e1lisis del mensaje para asegurarse de que sea lo suficientemente grande para la estructura esperada, como al final del mensaje para asegurarse de que no desbordemos m\u00e1s all\u00e1 del final del b\u00fafer para el siguiente mensaje.\"}],\"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/aed172a2e2330131f0977d2acd3ec8883f413ec1\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c703bbf8e9b4947e111c88d2ed09236a6772a471\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f10177e6c4575aedaea580ce67d792fab7a2235e\",\"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…