In the Linux kernel, the following vulnerability has been resolved: drm/bridge: tc358767: clamp the reported AUX read size to the request tc_aux_transfer() clamps an AUX read to the payload limit: size_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg->size); After the transfer it replaces size with the byte count the controller reports in AUX_BYTES: if (size) size = FIELD_GET(AUX_BYTES, auxstatus); AUX_BYTES is GENMASK(15, 8), so it can be up to 255. Nothing clamps it back to the request. tc_aux_read_data() reads that many bytes into the 16-byte auxrdata stack buffer, then copies them into the caller buffer. A reported count of 255 makes the read run to 256 bytes and overruns both. The controller should never report more than it was asked to transfer, so this is defense in depth rather than a live hole. The reported count is only lightly trusted, and the check is cheap. Clamp it back to the request, the same way ti-sn65dsi86 does in commit aca58eac52b8 ("drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer").
https://git.kernel.org/stable/c/ec6444a00c49e6c2b5e9a507272a28126677f9ee
https://git.kernel.org/stable/c/ebf00c51c9ac9188e2806a2b842418805ee879be
https://git.kernel.org/stable/c/dd6274706bec30d005bff0587a4262d01dc2775a
https://git.kernel.org/stable/c/9ff718df547372d70ca20ad8e66a3fb1300936b2
https://git.kernel.org/stable/c/982caa744fce79d18f2920382aaeb0da821a6e73
https://git.kernel.org/stable/c/57c567e0e8aa76f6e3e8f39d7f40c20bc37e76af
https://git.kernel.org/stable/c/424b762cc26d512e3e7421e57e41b4b55be2400b
https://git.kernel.org/stable/c/33c0b072e31dee98a754d9bd01800359dfeb9e8f