用户希望我总结网页截图中的漏洞信息。 我需要提取以下关键信息: 1. 漏洞概述 (Summary): 解释漏洞是什么,发生了什么。 2. 影响范围 (Affected Code): 指出受影响的代码位置。 3. 修复方案 (Sanitized Output): 提供修复后的代码。 4. POC/利用代码: 提取页面中提供的测试代码。 步骤 1: 分析漏洞概述 (Summary) 标题: Out-of-Bounds Write in nufftable::initval Due to Missing Bounds Validation 摘要内容: 函数在构建从 JPEG DHT 段获取的哈夫曼表时,会执行越界写入。 具体原因: 函数使用 作为表大小,但实际写入数量由 决定。 触发条件: 当 大于 时,就会发生越界写入。 后果: 例如,如果 是 16,但 是 20,就会向 2 字节表写入 3 个额外条目,覆盖相邻内存。 步骤 2: 分析影响范围 (Affected Code) 漏洞类型: 受影响代码: 代码片段: 截图展示了 函数的实现,特别是第 374-376 行的循环,其中 的写入没有边界检查。 步骤 3: 分析根本原因 (Root Cause) 表大小是 。 写入总数是 。 没有强制 小于等于 。 DHT 解析器只检查总符号数是否 <= 256,没有检查表大小验证。 步骤 4: 提取 POC (PoC) 页面提供了一个 Tiff 文件,用于触发最小化的 JPEG 解码。 代码块: ``` A Tiff file wrapping a minimalistic JPEG file with a malformed DHT tag. The command would be: $ libjpeg-turbo -c 2024-01-28 -o /dev/null -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed -fuzzed