2025-12-24 15:51CVE-2025-68750Linux
PUBLISHED5.2

usb: potential integer overflow in usbg_make_tpg()

In the Linux kernel, the following vulnerability has been resolved:

usb: potential integer overflow in usbg_make_tpg()

The variable tpgt in usbg_make_tpg() is defined as unsigned long and is

assigned to tpgt->tport_tpgt, which is defined as u16. This may cause an

integer overflow when tpgt is greater than USHRT_MAX (65535). I

haven't tried to trigger it myself, but it is possible to trigger it

by calling usbg_make_tpg() with a large value for tpgt.

I modified the type of tpgt to match tpgt->tport_tpgt and adjusted the

relevant code accordingly.

This patch is similar to commit 59c816c1f24d ("vhost/scsi: potential

memory corruption").

Affected products

Linux

Linux

< 0861b9cb2ff519b7c5a3b1dd52a343e18c4efb24 - AFFECTED

< 603a83e5fee38a950bfcfb2f36449311fa00a474 - AFFECTED

< 6f77e344515b5258edb3988188311464209b1c7c - AFFECTED

< 6722e080b5b39ab7471386c73d0c1b39572f943c - AFFECTED

< a33f507f36d5881f602dab581ab0f8d22b49762c - AFFECTED

< 358d5ba08f1609c34a054aed88c431844d09705a - AFFECTED

< 620a5e1e84a3a7004270703a118d33eeb1c0f368 - AFFECTED

< 153874010354d050f62f8ae25cbb960c17633dc5 - AFFECTED

Linux

<= 5.4.* - UNAFFECTED

<= 5.10.* - UNAFFECTED

<= 5.15.* - UNAFFECTED

<= 6.1.* - UNAFFECTED

<= 6.6.* - UNAFFECTED

<= 6.12.* - UNAFFECTED

<= 6.15.* - UNAFFECTED

<= * - UNAFFECTED

References

GitHub Security Advisories

GHSA-475m-mm7r-j479

In the Linux kernel, the following vulnerability has been resolved: usb: potential integer...

https://github.com/advisories/GHSA-475m-mm7r-j479

In the Linux kernel, the following vulnerability has been resolved:

usb: potential integer overflow in usbg_make_tpg()

The variable tpgt in usbg_make_tpg() is defined as unsigned long and is assigned to tpgt->tport_tpgt, which is defined as u16. This may cause an integer overflow when tpgt is greater than USHRT_MAX (65535). I haven't tried to trigger it myself, but it is possible to trigger it by calling usbg_make_tpg() with a large value for tpgt.

I modified the type of tpgt to match tpgt->tport_tpgt and adjusted the relevant code accordingly.

This patch is similar to commit 59c816c1f24d ("vhost/scsi: potential memory corruption").

JSON source

https://cveawg.mitre.org/api/cve/CVE-2025-68750
Click to expand
{
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "cveMetadata": {
    "cveId": "CVE-2025-68750",
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "dateUpdated": "2025-12-24T15:51:03.141Z",
    "dateReserved": "2025-12-24T10:30:51.032Z",
    "datePublished": "2025-12-24T15:51:03.141Z",
    "state": "PUBLISHED"
  },
  "containers": {
    "cna": {
      "providerMetadata": {
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux",
        "dateUpdated": "2025-12-24T15:51:03.141Z"
      },
      "title": "usb: potential integer overflow in usbg_make_tpg()",
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: potential integer overflow in usbg_make_tpg()\n\nThe variable tpgt in usbg_make_tpg() is defined as unsigned long and is\nassigned to tpgt->tport_tpgt, which is defined as u16. This may cause an\ninteger overflow when tpgt is greater than USHRT_MAX (65535). I\nhaven't tried to trigger it myself, but it is possible to trigger it\nby calling usbg_make_tpg() with a large value for tpgt.\n\nI modified the type of tpgt to match tpgt->tport_tpgt and adjusted the\nrelevant code accordingly.\n\nThis patch is similar to commit 59c816c1f24d (\"vhost/scsi: potential\nmemory corruption\")."
        }
      ],
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/gadget/function/f_tcm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "0861b9cb2ff519b7c5a3b1dd52a343e18c4efb24"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "603a83e5fee38a950bfcfb2f36449311fa00a474"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "6f77e344515b5258edb3988188311464209b1c7c"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "6722e080b5b39ab7471386c73d0c1b39572f943c"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "a33f507f36d5881f602dab581ab0f8d22b49762c"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "358d5ba08f1609c34a054aed88c431844d09705a"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "620a5e1e84a3a7004270703a118d33eeb1c0f368"
            },
            {
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "status": "affected",
              "versionType": "git",
              "lessThan": "153874010354d050f62f8ae25cbb960c17633dc5"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "programFiles": [
            "drivers/usb/gadget/function/f_tcm.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "5.4.296",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "version": "5.10.240",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.187",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.143",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.96",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.36",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.15.5",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.15.*"
            },
            {
              "version": "6.16",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ],
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/0861b9cb2ff519b7c5a3b1dd52a343e18c4efb24"
        },
        {
          "url": "https://git.kernel.org/stable/c/603a83e5fee38a950bfcfb2f36449311fa00a474"
        },
        {
          "url": "https://git.kernel.org/stable/c/6f77e344515b5258edb3988188311464209b1c7c"
        },
        {
          "url": "https://git.kernel.org/stable/c/6722e080b5b39ab7471386c73d0c1b39572f943c"
        },
        {
          "url": "https://git.kernel.org/stable/c/a33f507f36d5881f602dab581ab0f8d22b49762c"
        },
        {
          "url": "https://git.kernel.org/stable/c/358d5ba08f1609c34a054aed88c431844d09705a"
        },
        {
          "url": "https://git.kernel.org/stable/c/620a5e1e84a3a7004270703a118d33eeb1c0f368"
        },
        {
          "url": "https://git.kernel.org/stable/c/153874010354d050f62f8ae25cbb960c17633dc5"
        }
      ]
    }
  }
}