漏洞概述 漏洞名称: ROHC NULL Write / Heap Corruption with uncompressed profile and large CID 创建者: John Thacker 创建时间: 3周前 状态: Done 影响范围: 在ROHC(Robust Header Compression)解复用器中,当使用未压缩配置文件(profile=0)路径且large_cid_present=true时,如果数据包恰好以CID字段结尾(len == val_len),则会导致以下问题: - 返回 NULL(在wsutil/wmem/wmem_core.c:40-41中确认) - 随后写入1字节到NULL - 第二个 使用 转换为 = SIZE_MAX - 第二个 将抛出异常,因此成功写入1字节到NULL 影响范围 创建一个NULL缓冲区并写入1字节到它。 修复方案 创建一个长度为1的缓冲区并写入1字节到它。 样本捕获文件 提供了一个生成POC的脚本,但由于不生成必要的包来配置ROHC上下文以使用大CID,因此无法工作。小CID是默认的。 构建信息 影响版本:4.4.6 和最新的 master,以及多种支持版本。 代码块 其他信息 当前错误行为: 创建一个NULL缓冲区并写入1字节到它。 预期正确行为: 创建一个长度为1的缓冲区并写入1字节到它。 健康状态: None 时间跟踪: 无估计或花费时间 参与者: 3