CVE-2026-93067

Summary

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").

Affected Software

VendorProductVersion RangeStatus
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < ebf00c51c9ac9188e2806a2b842418805ee879beaffected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < 424b762cc26d512e3e7421e57e41b4b55be2400baffected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < dd6274706bec30d005bff0587a4262d01dc2775aaffected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < 982caa744fce79d18f2920382aaeb0da821a6e73affected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < 33c0b072e31dee98a754d9bd01800359dfeb9e8faffected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < 57c567e0e8aa76f6e3e8f39d7f40c20bc37e76afaffected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < 9ff718df547372d70ca20ad8e66a3fb1300936b2affected
LinuxLinux12dfe7c4d9c53442efcb4113cff505f60d654906 < ec6444a00c49e6c2b5e9a507272a28126677f9eeaffected
LinuxLinux5.4affected
LinuxLinux0 < 5.4unaffected
LinuxLinux5.10.270 <= 5.10.*unaffected
LinuxLinux5.15.221 <= 5.15.*unaffected
LinuxLinux6.1.188 <= 6.1.*unaffected
LinuxLinux6.6.157 <= 6.6.*unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.52 <= 6.18.*unaffected
LinuxLinux7.2.6 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References