根据用户提供的网页截图,我需要提取关于漏洞的关键信息,并用简洁的中文markdown格式进行总结。 1. 漏洞概述 (Vulnerability Overview): 标题: 产品: (版本 ) 描述: 在 函数中,当解析 cmap 表条目时,如果字体数据没有完全加载到缓冲区中(即从裁剪后的字体读取),会导致堆缓冲区溢出读取(heap buffer overflow)。 ASAN 输出: 显示了一个堆缓冲区溢出读取错误,地址为 ,位于 函数中。 2. 影响范围 (Impact/Scope): 受影响库: 受影响版本: 小于 1.36 的版本 ( )。 触发条件: 读取裁剪后的字体数据(字体数据未完全加载到缓冲区)。 3. 修复方案 (Fix/Mitigation): 虽然截图没有直接给出修复补丁代码,但标题暗示了版本 是修复版本。通常这意味着升级到 或更高版本。 截图中的 代码片段展示了修复后的逻辑(或者至少是用于复现/测试的代码),其中包含了一个检查 长度的逻辑。 4. 代码提取 (Code Extraction): 截图底部有一个名为 的代码块。这是用户要求必须完整提取的部分。 代码内容涉及 的修改,特别是 函数。 代码中有一个关键检查: 。这看起来是修复的一部分,用于防止 OOB 读取。 5. 组织语言: 将上述信息整理成清晰的中文markdown。 确保包含漏洞名称、受影响产品/版本、描述、以及完整的代码块。 Drafting the response: 标题: 漏洞总结 漏洞概述: stb_truetype.h 库在 InitFont 阶段存在堆缓冲区溢出读取漏洞 (CWE-125)。 影响范围: stb_truetype.h 版本 漏洞总结 漏洞概述 漏洞名称: stb_truetype.h InitFont OOB Read (CWE-125) 漏洞类型: 堆缓冲区溢出读取 (Heap Buffer Overflow Read) 描述: 在 函数中,当解析 cmap 表条目时,如果字体数据没有完全加载到缓冲区中(例如从裁剪后的字体读取),会导致堆缓冲区溢出读取。 影响范围 受影响产品: stb_truetype.h 受影响版本: 小于 1.36 的版本 ( ) 修复方案 建议升级到 1.36 或更高版本。 相关代码 (just_fix_me.c)