CVE-2026-93067 in Linux
摘要
由 VulDB • 2026-09-18
在 Linux 内核中,已修复以下漏洞:
drm/bridge: tc358767: 将报告的 AUX 读取大小限制为请求的大小
tc_aux_transfer() 会将 AUX 读取量限制有效载荷上限范围内:
size_t size = min_t(size_t, DP_AUX_MAX_PAYLOAD_BYTES - 1, msg->size);
传输完成后,它用控制器在 AUX_BYTES 中报告的字节数替换 size:
if (size) size = FIELD_GET(AUX_BYTES, auxstatus);
AUX_BYTES 是 GENMASK(15, 8),因此其值最高可达 255。没有任何逻辑将其限制回请求的大小。tc_aux_read_data() 会将这么多字节读入大小为 16 字节的 auxrdata 栈缓冲区,然后将其复制到调用者的缓冲区中。报告的计数为 255 时,读取操作将执行至 256 个字节,从而导致两个缓冲区均发生溢出。
控制器绝不应报告超过其被要求传输的数据量,因此这属于纵深防御措施而非实际可利用的漏洞(live hole)。对报告的计数仅给予轻度信任,且该检查开销极低。将其限制回请求的大小,方式与 commit aca58eac52b8 ("drm/bridge: ti-sn65dsi86: Never store more than msg->size bytes in AUX xfer") 中 ti-sn65dsi86 的做法相同。
If you want to get best quality of vulnerability data, you may have to visit VulDB.