一个包含已披露和已修补的 pngcheck(2.4.0 - 3.0.1)漏洞概念验证文件的仓库。
每个 PoC 都通过专用生成脚本精心构造,以触发特定 bug,覆盖已分配 CVE 编号和未分配 CVE 编号的漏洞。
有关详细的漏洞分析,请参阅我的研究笔记。
| 目录 | 类型 | 描述 | 版本 |
|---|---|---|---|
| vulns-3.0.1 | 缓冲区越界读取 | LOOP 块:未检查的块大小 | <=3.0.1 |
| vulns-3.0.0 | 缓冲区越界读取 | PPLT 块:first_idx/last_idx 处理错误 | <=3.0.0 |
| vulns-2.4.0 | 空指针解引用 | sCAL 块:无效指针访问 | <=2.4.0 |
| vulns-2.4.0 | 缓冲区越界读取 | MNG 块:10 种块类型中的缓冲区越界读取 | <=2.4.0 |
| CVE-2020-35511 | 缓冲区越界读取 | print_buffer():大小验证不足 | <=2.4.0 |
| CVE-2020-27818 | 越界读取 | check_chunk_name():字符转换导致的负数数组索引 | <=2.4.0 |
请注意,某些漏洞类型可能与其 CVE 描述或官方分类有所不同。这些是主观分类。
每个漏洞文件夹包含:
某些漏洞在触发时可能不会表现出明显症状。使用 -fsanitize=address 等 sanitizer 选项重新编译有助于更好地识别这些问题。
有关详细说明,请参阅每个目录中的 README.md。