In the Linux kernel, the following vulnerability has been resolved:
drm/edid: In connectorbadedid() cap numofext by num_blocks read
In commit e11f5bd8228f ("drm: Add support for DP 1.4 Compliance edid
corruption test") the function connectorbadedid() started assuming
that the memory for the EDID passed to it was big enough to hold
edid[0x7e] + 1 blocks of data (1 extra for the base block). It
completely ignored the fact that the function was passed num_blocks
which indicated how much memory had been allocated for the EDID.
Let's fix this by adding a bounds check.
This is important for handling the case where there's an error in the
first block of the EDID. In that case we will call
connectorbadedid() without having re-allocated memory based on
edid[0x7e].
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47444.json"
[
{
"events": [
{
"introduced": "5.7"
},
{
"fixed": "5.10.75"
}
]
},
{
"events": [
{
"introduced": "5.11"
},
{
"fixed": "5.14.14"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.15-rc1"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.15-rc2"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.15-rc3"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.15-rc4"
}
]
},
{
"events": [
{
"introduced": "0"
},
{
"last_affected": "5.15-rc5"
}
]
}
]