Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2022-2869-detector — CodeQL 检测器,用于 CVE-2022-2869 根因(CWE-191 无符号下溢),利用控制流/范围分析识别易受攻击的模式,而无需硬编码特定函数。 | Kitploit
工具/GitHubGitHub/halahajyahia/cve-2022-2869-detector
静态分析漏洞分析代码分析二进制分析
GitHubhalahajyahia/cve-2022-2869-detector

CVE-2022-2869-detector

CodeQL 检测器,用于 CVE-2022-2869 根因(CWE-191 无符号下溢),利用控制流/范围分析识别易受攻击的模式,而无需硬编码特定函数。

查看仓库

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
9小时56分前尚未审核

CVE-2022-2869 CodeQL 检测器

本项目为 CVE-2022-2869 背后的根本弱点实现了一个通用 CodeQL 检测器:由于程序在进行算术运算前未建立足够的下界/顺序保护,导致无符号减法可能发生下溢。

此版本与先前查询的不同之处

该检测器有意报告根本原因(CWE-191),而非硬编码 tiffcrop.c、函数名或变量名。它使用 CodeQL 标准的 Overflow 库,其保护推理基于控制流/范围分析。它不使用源代码行号顺序来替代控制流支配关系。

文件

  • UnsignedUnderflow.ql — 待提交的主要检测器。
  • report.md — 漏洞及查询说明。
  • test/mini_tiffcrop_like.c — 类似 CVE 的不安全案例及安全对照组。
  • test/mini_tiffcrop_variant.c — 结构不同的变体及安全对照组。
  • test/EXPECTED_RESULTS.md — 预期的正/负行为。
  • original/ORIGINAL_VALIDATION.md — 必须在易受攻击的 LibTIFF 上演示的内容。

安装查询包依赖

从此目录执行:

root@kitploit:~
codeql pack install

为小型测试创建数据库

Linux/WSL 示例:

root@kitploit:~
codeql database create db-tests \
  --language=cpp \
  --command="gcc -std=c11 -O0 -g test/mini_tiffcrop_like.c -o /tmp/test1 && gcc -std=c11 -O0 -g test/mini_tiffcrop_variant.c -o /tmp/test2"

运行查询:

root@kitploit:~
codeql query run UnsignedUnderflow.ql --database=db-tests

使用 AddressSanitizer 进行运行时演示

CodeQL 查询属于静态分析。ASan 是展示自定义变体后果的可选证据。

root@kitploit:~
gcc -std=c11 -O0 -g -fsanitize=address test/mini_tiffcrop_like.c -o mini1
./mini1                 # 安全
./mini1 unsafe-x2       # 预期内存错误

gcc -std=c11 -O0 -g -fsanitize=address test/mini_tiffcrop_variant.c -o mini2
./mini2                 # 安全
./mini2 unsafe          # 预期内存错误

原始 LibTIFF 验证

从易受攻击的 LibTIFF 修订版(例如 4.3.0)构建 CodeQL 数据库,然后针对该数据库运行完全相同的 UnsignedUnderflow.ql 查询。在 tools/tiffcrop.c 中捕获结果,尤其是 computeInputPixelOffsets。

检测器不得修改为提及 tiffcrop、computeInputPixelOffsets、x2 或 crop_width;否则它将过度拟合单个 CVE 实例,并无法满足作业的变体要求。

下载工具