Embedded-NUL Truncation in jq CLI JSON Input Path Causes Prefix-Only Validation of Malformed Input 漏洞概述 在 CLI 工具中,当使用文件路径( )而非标准输入( )解析 JSON 时,存在一个逻辑缺陷。程序在读取数据后,使用 来计算有效字节长度。如果 JSON 输入中包含嵌入的 NUL 字节( ), 会在第一个 NUL 处截断,导致程序仅对 NUL 之前的“前缀”进行验证,而忽略了 NUL 之后的“后缀”。这使得攻击者可以构造包含恶意数据的畸形 JSON 输入,从而绕过安全验证。 影响范围 受影响版本: (所有版本) 严重程度:Low CVE ID:CVE-2025-3948 影响场景:任何依赖 对未受信任的 JSON 进行验证、转发或存储的工作流。攻击者可以在合法的 JSON 前缀后附加恶意数据, 会将其视为有效,而下游组件可能会处理包含恶意数据的完整输入,导致解析差异。 修复方案 状态:None(未修复) POC 代码与利用示例 PoC 生成器 (Python): 生成的 Payload: 复现命令: 观察到的输出 (验证被绕过): 对比测试 (使用 stdin 处理完整字节): 观察到的错误 (验证正常):**