In the Linux kernel, the following vulnerability has been resolved:
comedi: vmk80xx: fix transfer-buffer overflows
The driver uses endpoint-sized USB transfer buffers but up until
recently had no sanity checks on the sizes.
Commit e1f13c879a7c (“staging: comedi: check validity of wMaxPacketSize
of usb endpoints found”) inadvertently fixed NULL-pointer dereferences
when accessing the transfer buffers in case a malicious device has a
zero wMaxPacketSize.
Make sure to allocate buffers large enough to handle also the other
accesses that are done without a size check (e.g. byte 18 in
vmk80xx_cnt_insn_read() for the VMK8061_MODEL) to avoid writing beyond
the buffers, for example, when doing descriptor fuzzing.
The original driver was for a low-speed device with 8-byte buffers.
Support was later added for a device that uses bulk transfers and is
presumably a full-speed device with a maximum 64-byte wMaxPacketSize.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/comedi/drivers/vmk80xx.c"
],
"versions": [
{
"version": "985cafccbf9b",
"lessThan": "5229159f1d05",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "ec85bcff4ed0",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "40d2a7e278e2",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "7a2021b896de",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "199acd8c110e",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "33d7a470730d",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "278484ae9329",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "06ac746d57e6",
"status": "affected",
"versionType": "git"
},
{
"version": "985cafccbf9b",
"lessThan": "a23461c47482",
"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/comedi/drivers/vmk80xx.c"
],
"versions": [
{
"version": "2.6.31",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.31",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.4.292",
"lessThanOrEqual": "4.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.9.290",
"lessThanOrEqual": "4.9.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.14.255",
"lessThanOrEqual": "4.14.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "4.19.217",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.4.159",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.79",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.14.18",
"lessThanOrEqual": "5.14.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.2",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.16",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/06ac746d57e6d32b062e220415c607b7e2e0fa50
git.kernel.org/stable/c/199acd8c110e3ae62833c24f632b0bb1c9f012a9
git.kernel.org/stable/c/278484ae93297b1bb1ce755f9d3b6d95a48c7d47
git.kernel.org/stable/c/33d7a470730dfe7c9bfc8da84575cf2cedd60d00
git.kernel.org/stable/c/40d2a7e278e2e7c0a5fd7e997e7eb63945bf93f7
git.kernel.org/stable/c/5229159f1d052821007aff1a1beb7873eacf1a9f
git.kernel.org/stable/c/7a2021b896de1ad559d33b5c5cdd20b982242088
git.kernel.org/stable/c/a23461c47482fc232ffc9b819539d1f837adf2b1
git.kernel.org/stable/c/ec85bcff4ed09260243d8f39faba99e1041718ba