{"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-03T10:59:31.338Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-10-03T10:59:31.338Z"},"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-rc1","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-rc1"}]}]}],"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"}}}}