🔴 严重 | CVE-2026-58492 — grav-plugin-database is the database plugin for Gr...
🔴 《严重安全漏洞: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语句,读取数据库中的敏感数据(如用户密码、配置信息等)。 - 数据篡改:攻击者可以执行
INSERT、UPDATE或DELETE语句,修改或删除数据库内容。 - 权限提升:在数据库用户权限允许的情况下,攻击者可能执行更高级的数据库操作(如创建新用户、修改权限等)。
- 潜在横向移动:如果数据库服务器与其他系统共享,攻击者可能利用该漏洞作为跳板,进一步攻击内部网络。
- 数据泄露:攻击者可以执行
- 风险等级:高危。尽管攻击需要一定的前置条件(通过其他插件或代码传递参数),但一旦满足条件,攻击者可以完全控制数据库的读写能力,对系统安全构成严重威胁。
建议:所有使用 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 |
🔗 参考链接
💬 评论