{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2026-97540", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2026-09-24T16:01:01.153Z", "datePublished": "2026-09-25T10:21:37.410Z", "dateUpdated": "2026-10-19T09:09:02.510Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-10-19T09:09:02.510Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: usb: pegasus: don't rely on id table pointer arithmetic\n\nThe current code is broken when dynamic ID is involved; in such cases\nusb_device_id parameter of probe lives on the heap and the pointer\narithmetic will get an index that is wildly out of bound. Instead of\nkeeping a side table for additional information, use driver_info field of\nthe usb_device_id.\n\nThe dynamic ID parsing code needs to be updated for this; convert it to\njust write to the reserved entry for dynamic ID and remove the weird loop." } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/net/usb/pegasus.c", "drivers/net/usb/pegasus.h" ], "versions": [ { "version": "733260ff9c45bd4db60f45d17e8560a4a68dff4d", "lessThan": "7c940a1100cb0aa18a54dc48d736c0525c0f400c", "status": "affected", "versionType": "git" }, { "version": "733260ff9c45bd4db60f45d17e8560a4a68dff4d", "lessThan": "05d47f540d85c8f6697ec5cfc1aa7b4f96a5b31b", "status": "affected", "versionType": "git" }, { "version": "733260ff9c45bd4db60f45d17e8560a4a68dff4d", "lessThan": "9425a13960ef38bac237608f25c9ee64ff113086", "status": "affected", "versionType": "git" }, { "version": "733260ff9c45bd4db60f45d17e8560a4a68dff4d", "lessThan": "7654812b65047349ea4c111eed42c4315a00e462", "status": "affected", "versionType": "git" }, { "version": "733260ff9c45bd4db60f45d17e8560a4a68dff4d", "lessThan": "61b84e964a829d534f24eab4cbd4035d22b52601", "status": "affected", "versionType": "git" }, { "version": "733260ff9c45bd4db60f45d17e8560a4a68dff4d", "lessThan": "ce8101c331956bbd3e20681331dfd22eb7c1c1ea", "status": "affected", "versionType": "git" } ] }, { "product": "Linux", "vendor": "Linux", "defaultStatus": "affected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/net/usb/pegasus.c", "drivers/net/usb/pegasus.h" ], "versions": [ { "version": "2.6.16", "status": "affected" }, { "version": "0", "lessThan": "2.6.16", "status": "unaffected", "versionType": "semver" }, { "version": "6.1.189", "lessThanOrEqual": "6.1.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.158", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.12.111", "lessThanOrEqual": "6.12.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.18.53", "lessThanOrEqual": "6.18.*", "status": "unaffected", "versionType": "semver" }, { "version": "7.2.7", "lessThanOrEqual": "7.2.*", "status": "unaffected", "versionType": "semver" }, { "version": "7.3", "lessThanOrEqual": "*", "status": "unaffected", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.16", "versionEndExcluding": "6.1.189" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.16", "versionEndExcluding": "6.6.158" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.16", "versionEndExcluding": "6.12.111" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.16", "versionEndExcluding": "6.18.53" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.16", "versionEndExcluding": "7.2.7" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "2.6.16", "versionEndExcluding": "7.3" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/7c940a1100cb0aa18a54dc48d736c0525c0f400c" }, { "url": "https://git.kernel.org/stable/c/05d47f540d85c8f6697ec5cfc1aa7b4f96a5b31b" }, { "url": "https://git.kernel.org/stable/c/9425a13960ef38bac237608f25c9ee64ff113086" }, { "url": "https://git.kernel.org/stable/c/7654812b65047349ea4c111eed42c4315a00e462" }, { "url": "https://git.kernel.org/stable/c/61b84e964a829d534f24eab4cbd4035d22b52601" }, { "url": "https://git.kernel.org/stable/c/ce8101c331956bbd3e20681331dfd22eb7c1c1ea" } ], "title": "net: usb: pegasus: don't rely on id table pointer arithmetic", "x_generator": { "engine": "bippy-1.2.0" } } } }