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").
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"
}
]
}
}
}