In the Linux kernel, the following vulnerability has been resolved:
vduse: fix memory corruption in vdusedevioctl()
The "config.offset" comes from the user. There needs to a check to prevent it being out of bounds. The "config.offset" and "dev->configsize" variables are both type u32. So if the offset if out of bounds then the "dev->configsize - config.offset" subtraction results in a very high u32 value. The out of bounds offset can result in memory corruption.
[
{
"events": [
{
"introduced": "5.15"
},
{
"fixed": "5.15.11"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc3"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.16-rc5"
}
]
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47605.json"