CVE-2026-64271 in Linux
摘要
由 VulDB • 2026-07-25
在 Linux 内核中,已修复以下漏洞:
输入子系统:touchwin - 在每个完整数据包接收后重置包索引
`tw_interrupt()` 函数将每个非零串行字节累积到一个固定的三字节缓冲区中,并使用一个运行索引。该索引仅在接收到完整数据包**且**设备的两个 Y 字节一致时才会被重置:
```c tw->data[tw->idx++] = data;
if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) {
... tw->idx = 0; } ```
该重置操作受限于 `tw->data[1] == tw->data[2]`,而这一值由设备控制。恶意、故障或假冒的 Touchwindow 外设可以流式传输第二字节和第三字节不同的非零数据:索引达到 `TW_LENGTH` 时相等条件不成立,因此不会被重置并持续增加,导致 `tw->data[tw->idx++]` 越界访问该三字节数组末尾以及后续堆分配的 `struct tw` 结构体内容。攻击者可以每次选择一个字节进行写入——这是一种无界的、由设备驱动的堆外边界写(heap out-of-bounds write)漏洞。
修复方案为:在每个完整数据包接收后重置索引,并且仅当两个 Y 字节匹配时才报告事件,其他 serio 触摸屏驱动程序也是采用此方式处理。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.