CVE-2026-1940CVE-2026-1940 是 GStreamer 项目中 WAV 解析组件的一个安全漏洞。该漏洞源于对先前漏洞 CVE-2024-47778 的修复不完整。在 `gst_wavparse_adtl_chunk` 函数中,虽然补丁增加了对 `lsize + 8 > size` 的检查,但未正确处理偏移计算中使用的 `GST_ROUND_UP_2(lsize)` 宏。当 `lsize` 为奇数时,解析器读取的字节数将超过验证的范围,导致越界读取。
该漏洞位于 GStreamer 的 WAV 解析器对 'adtl' chunk 的处理逻辑中。代码逻辑假设读取的数据长度为 `lsize`,但实际内存读取时使用了 `GST_ROUND_UP_2(lsize)` 进行对齐。例如,当 `lsize` 为 5 时,验证检查允许读取 13 字节(5+8),但实际读取操作会读取 14 字节(6+8)。这多出的 1 字节读取操作导致了越界访问。攻击者可通过构造特制的 WAV 文件,利用此逻辑缺陷读取进程内存中的敏感信息或导致程序崩溃(拒绝服务)。