← Back to CVE Explorer

CVE-2025-68343

Full vulnerability record from the local CVENow database.

Description

In the Linux kernel, the following vulnerability has been resolved: can: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing header The driver expects to receive a struct gs_host_frame in gs_usb_receive_bulk_callback(). Use struct_group to describe the header of the struct gs_host_frame and check that we have at least received the header before accessing any members of it. To resubmit the URB, do not dereference the pointer chain "dev->parent->hf_size_rx" but use "parent->hf_size_rx" instead. Since "urb->context" contains "parent", it is always defined, while "dev" is not defined if the URB it too short.

Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Published
2025-12-23 14:16:40.913000
Last modified
2026-10-19 21:10:00.160000
View original CVE JSON
{
  "id": "CVE-2025-68343",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "published": "2025-12-23T14:16:40.913",
  "lastModified": "2026-10-19T21:10:00.160",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncan: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing header\n\nThe driver expects to receive a struct gs_host_frame in\ngs_usb_receive_bulk_callback().\n\nUse struct_group to describe the header of the struct gs_host_frame and\ncheck that we have at least received the header before accessing any\nmembers of it.\n\nTo resubmit the URB, do not dereference the pointer chain\n\"dev->parent->hf_size_rx\" but use \"parent->hf_size_rx\" instead. Since\n\"urb->context\" contains \"parent\", it is always defined, while \"dev\" is not\ndefined if the URB it too short."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, se ha corregido la siguiente vulnerabilidad:\\n\\ncan: gs_usb: gs_usb_receive_bulk_callback(): check actual_length before accessing header\\n\\nEl controlador espera recibir una struct gs_host_frame en gs_usb_receive_bulk_callback().\\n\\nUtilizar struct_group para describir la cabecera de la struct gs_host_frame y comprobar que se ha recibido al menos la cabecera antes de acceder a cualquiera de sus miembros.\\n\\nPara volver a enviar el URB, no desreferenciar la cadena de punteros \\“dev -> parent -> hf_size_rx\\” sino usar \\“parent -> hf_size_rx\\” en su lugar. Dado que \\“urb -> context\\” contiene \\“parent\\”, siempre está definido, mientras que \\“dev\\” no está definido si el URB es demasiado corto."
    }
  ],
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "programFiles": [
            "drivers/net/can/usb/gs_usb.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "d08e973a77d128b25e01a08c34d89593fdf222da",
              "lessThan": "18cbce43363c9f84b90a92d57df341155eee0697",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d08e973a77d128b25e01a08c34d89593fdf222da",
              "lessThan": "3433680b759646efcacc64fe36aa2e51ae34b8f0",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d08e973a77d128b25e01a08c34d89593fdf222da",
              "lessThan": "616eee3e895b8ca0028163fcb1dce5e3e9dea322",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d08e973a77d128b25e01a08c34d89593fdf222da",
              "lessThan": "f31693dc3a584c0ad3937e857b59dbc1a7ed2b87",
              "versionType": "git",
              "status": "affected"
            },
            {
              "version": "d08e973a77d128b25e01a08c34d89593fdf222da",
              "lessThan": "6fe9f3279f7d2518439a7962c5870c6e9ecbadcf",
              "versionType": "git",
              "status": "affected"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "programFiles": [
            "drivers/net/can/usb/gs_usb.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "versions": [
            {
              "version": "3.16",
              "status": "affected"
            },
            {
              "version": "0",
              "lessThan": "3.16",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.1.159",
              "lessThanOrEqual": "6.1.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.6.119",
              "lessThanOrEqual": "6.6.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.12.61",
              "lessThanOrEqual": "6.12.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.17.11",
              "lessThanOrEqual": "6.17.*",
              "versionType": "semver",
              "status": "unaffected"
            },
            {
              "version": "6.18",
              "lessThanOrEqual": "*",
              "versionType": "original_commit_for_fix",
              "status": "unaffected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {},
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/18cbce43363c9f84b90a92d57df341155eee0697",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3433680b759646efcacc64fe36aa2e51ae34b8f0",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/616eee3e895b8ca0028163fcb1dce5e3e9dea322",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/6fe9f3279f7d2518439a7962c5870c6e9ecbadcf",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f31693dc3a584c0ad3937e857b59dbc1a7ed2b87",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ]
}