关键漏洞信息 漏洞类型 CWE-190: 整数溢出 漏洞描述 由于在 中的整数溢出,导致逻辑/限制绕过(Logic/Limit Bypass)。 当应用程序在初次合并时,如果计数器的默认值来自不可信输入,并且该值等于 ,则会发生溢出。 影响范围 目标: docopt.cpp (C++库) 测试版本: v0.6.2 攻击面 环境变量: shell配置文件、CI脚本等。 可写配置文件: 非特权用户可以修改的配置文件。 远程策略/机器人映射: 转换远程事件到本地CLI调用。 安全影响 溢出或表示错误的计数器可能破坏依赖于简单数值检查的授权/护栏,如: - 限次使用的绕过。 - 状态/模式切换的误操作。 - 调试/不安全模式的意外关闭。 根因分析 函数: 文件: 问题: 计数器合并使用了未经检查的带符号 类型加法。 触发: 当收集到的值 == + 1 新数据时,导致溢出。 CVSS v3.1 常见局部CLI场景(保守估计): 4.6 中等 远程/机器人映射默认值: 5.9 中等 缓解措施 使用检查运算/饱和加法(或在溢出时限制),并在解释计数器之前规范化负值。 可重现性锚点 REPRO_COMMIT: bb666... POC_REPO_COMMIT: bb66620... REPRO_CHECKSUMS: 0bd3... BUILD_ENV_SHA256: 6110fa... 诊断状态 协调者/CNA: TBD (协调披露优选) 修复: 建议上游修复算术防护,但不在本Gist的范围内。