JFrog 调查发现 6 个 SQLite CVE(评分 7.5~9.8)引用了不存在的代码和不可能的源码位置,确认为 AI 幻觉后被 CVE 编号库撤销,提醒业界警惕 AI 生成安全报告的可靠性问题。
六个被宣传为 SQLite 漏洞的安全公告,最初评级从 7.5(高危)到 9.8(严重)不等,但实际上根本无法复现。JFrog 于 2026 年 7 月 30 日的调查发现,这些公告引用的代码不存在、源代码位置不可能出现、概念验证(PoC)输入要么解析失败、要么在内存错误检测下并未导致 SQLite 崩溃。
这六条记录——CVE-2026-51296、CVE-2026-51297、CVE-2026-51300、CVE-2026-51302、CVE-2026-51303 和 CVE-2026-51304——在 2026 年 7 月 31 日被 CNA 撤销之前,已经进入国家漏洞数据库(NVD)。SQLite 官方现在将每一条标注为"Not a bug in SQLite"(非 SQLite 自身问题),并描述为不可复现、明显的 AI 幻觉。这是一个归因,而非关于报告者身份的经证实说法。
六个 SQLite CVE 在被驳回前已进入 NVD
这些记录源自公开的 programmervuln/cveadvisory- GitHub 仓库,该仓库在一大批 CVE 命名提交中发布了 SQLite 安全公告。JFrog 安全研究员 Afek Berger 报告称,这六条 SQLite 条目被分配了 CVE、进入了 NVD 工作流程,并接受了 CISA 授权数据发布者(ADP)项目的丰富化处理,然后才被撤销。NVD 为 CVE-2026-51302 保存的记录显示,尽管当前状态为已驳回,但之前仍有 CISA ADP 评分和 CPE 产品元数据。
这个流程链条在运营层面很重要,因为 CVE 不只是一个网页。一旦记录进入漏洞情报库,扫描器可以标记它、工单系统可以创建修复工单、安全团队可以花费时间追查一个根本不存在的 bug 的补丁。相关来源未量化这些下游系统中有多少保留了这六条记录的告警。
JFrog 用更朴实的方式测试了这些说法:针对源代码和实际二进制文件进行研究。研究人员检出了公告中指定的 SQLite 版本、在隔离的 Docker 容器中编译它们,然后在 AddressSanitizer(一个旨在捕获内存安全问题的运行时工具)下运行每一条提供的 SQL PoC。调查称多个载荷是无效的 SQL 或 JSON,而其他一些则完成执行而未触发 ASan 检测到崩溃。
有一条记录说明了标签与证据之间的差距。以 CVE-2026-51302 为例,它被描述为 9.8 严重级别的堆内存使用后释放(heap use-after-free),声称 sqlite3ReleaseTempReg() 留下了一个悬空指针,随后被 exprComputeOperands() 读取。JFrog 发现,公告中指定的 SQLite 3.41 版本中根本不存在 exprComputeOperands() 这个函数;它是在 2025 年中才被添加的。而被指控的第一个函数实际上回收的是寄存器索引而非释放堆内存,这削弱了所提出的使用后释放机制。
"Not a bug in SQLite."
SQLite 官方维护的 CVE 页面将这六个字作为对所有六条记录的裁定,并称它们为"明显的 AI 幻觉"。维护者还指出,他们总体上认为 CVE 数量是衡量影响典型 SQLite 部署的 bug 的不可靠指标。这个更广泛的立场并不会自动否定未来每一个 SQLite CVE;在本案例中,决定性的证据是失败的源代码审查和失败的复现尝试。
技术缺陷各有不同,但它们共享一个模式——这个模式本应在严重程度评分之前就阻止这些报告:被引用版本中不存在的函数、错误的函数签名、编造的修复方案、指向无关代码的引用、以及与发布版本不符的行号。JFrog 表示在六份报告中都发现了这些失败,包括一些严重程度足以在许多组织中触发立即修复的声称。
CVE-2026-51302 的严重程度在被驳回前也发生过变动。JFrog 观察到 Red Hat 最初给它评了 10.0 严重分,随后又降至 7.6 高危。原始公告自身的描述是 9.8 严重。精确性不等于验证:一个十进制分数可以让一个编造的攻击场景看起来出奇地正式。
NVD 不会删除已驳回的记录。CVE-2026-51296 的页面保留了之前的 SQLite 漏洞描述,同时标记该条目已驳回,因为 CNA 认定它不是安全问题。这种存档选择对审计跟踪有用,但也意味着团队不能仅仅因为某个 CVE 页面仍然存在就认为旧的扫描结果仍然有效。
本报道主要基于 JFrog 的审计报告和 SQLite 的状态页面;JFrog 更广泛的声称——称原始仓库中 55 个安全公告中有 54 个是编造的——尚未被其他来源独立量化。但六条 SQLite 记录有一个明确的最终状态:没有补丁需要部署、没有 bug 可以复现、六个误报,安全团队应该关闭它们而不是继续升级。
六个据称的 SQLite CVE 于 2026 年 7 月 31 日被撤销,因为其 CNA 认定它们不是安全问题。
受影响的记录为 CVE-2026-51296、-51297、-51300、-51302、-51303 和 -51304。
这些公告最初携带的报告严重程度评分从 7.5(高危)到 9.8(严重)不等。
JFrog 发现这些报告引用了不存在的代码、错误的逻辑和无法工作的 PoC 载荷。
已驳回的 CVE 记录在 NVD 中仍然可用,因此团队应该关闭先前的扫描结果和与之相关的修复工单。
SQLite Critical CVEs or LLM Slop? — JFrog 于 2026 年 7 月 30 日对六条不可复现 SQLite 报告的调查。
SQLite Vulnerabilities — SQLite 官方维护的已驳回 CVE 状态页面。
NVD: CVE-2026-51302 — 保存的 NVD 记录,显示驳回状态和之前的丰富化信息。
NVD: CVE-2026-51296 — NVD 保留的第二条被驳回的 SQLite 记录。
programmervuln/cveadvisory- repository — 托管这些公告文件的公开仓库。
Originally published on novaknown.com