🔴 《严重安全漏洞:CVE-2026-58492》

CVSS 评分: 严重(9.2)  状态: Deferred  发布时间: 2026-07-10


漏洞简介

CVE-2026-58492 是存在于 Grav CMS 的数据库插件(grav-plugin-database)中的一个安全漏洞。该漏洞属于 SQL 注入(SQL Injection) 类型,对应 CWE-89 分类。

在版本 1.2.0 之前,插件中的 PDO::tableExists 方法在处理 table 参数时,直接将参数值拼接到原始 SQL 查询字符串中,未进行任何清理(sanitization)、转义(escaping)、引号包裹(quoting)或白名单校验(whitelisting)。这意味着,如果其他插件或开发者代码将攻击者可控的表名传递给该方法,攻击者就可以利用该缺陷向配置的数据库中执行任意 SQL 语句。

该漏洞已在版本 1.2.0 中修复,修复方式是通过提交 f6d0587 对输入进行了安全处理。

影响范围

  • 受影响软件:grav-plugin-database(Grav CMS 的数据库插件)
  • 受影响版本:所有 1.2.0 之前 的版本
  • 修复版本:1.2.0(含)及以上版本
  • CVSS 向量CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
    • 攻击复杂度低(AC:L),无需用户交互(UI:N),无需权限(PR:N),但需要攻击者能够通过其他插件或代码传递可控的表名(AT:P)。
    • 对机密性(VC:H)和完整性(VI:H)影响高,对可用性(VA:L)影响低。

风险分析

  • 攻击方式:攻击者无法直接调用 PDO::tableExists 方法,但可以通过利用其他插件或自定义代码中的输入点,将恶意构造的表名参数传递给该方法。由于该方法未对输入进行任何安全处理,攻击者可以注入任意 SQL 语句。
  • 攻击后果
    • 数据泄露:攻击者可以执行 SELECT 语句,读取数据库中的敏感数据(如用户密码、配置信息等)。
    • 数据篡改:攻击者可以执行 INSERTUPDATEDELETE 语句,修改或删除数据库内容。
    • 权限提升:在数据库用户权限允许的情况下,攻击者可能执行更高级的数据库操作(如创建新用户、修改权限等)。
    • 潜在横向移动:如果数据库服务器与其他系统共享,攻击者可能利用该漏洞作为跳板,进一步攻击内部网络。
  • 风险等级高危。尽管攻击需要一定的前置条件(通过其他插件或代码传递参数),但一旦满足条件,攻击者可以完全控制数据库的读写能力,对系统安全构成严重威胁。

建议:所有使用 grav-plugin-database 的用户应立即升级至 1.2.0 或更高版本,并检查是否有其他插件或自定义代码可能将用户输入传递给 PDO::tableExists 方法,避免在升级前暴露攻击面。


🔍 技术细节

字段
CVE ID CVE-2026-58492
CVSS 评分 9.2 🔴
严重程度 严重
CVSS 向量 CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CWE 分类 CWE-89
发布时间 2026-07-10
最后更新 2026-07-10
状态 Deferred
数据来源 security-advisories@github.com

🔗 参考链接