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 vmk80xxcntinsnread() for the VMK8061MODEL) 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.
[
{
"events": [
{
"introduced": "2.6.31"
},
{
"fixed": "4.4.292"
}
]
},
{
"events": [
{
"introduced": "4.5"
},
{
"fixed": "4.9.290"
}
]
},
{
"events": [
{
"introduced": "4.10"
},
{
"fixed": "4.14.255"
}
]
},
{
"events": [
{
"introduced": "4.15"
},
{
"fixed": "4.19.217"
}
]
},
{
"events": [
{
"introduced": "4.20"
},
{
"fixed": "5.4.159"
}
]
},
{
"events": [
{
"introduced": "5.5"
},
{
"fixed": "5.10.79"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.14.18"
}
]
},
{
"events": [
{
"introduced": "5.15"
},
{
"fixed": "5.15.2"
}
]
}
]
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47475.json"