CVE-2025-13780:pgAdmin 4 严重远程代码执行漏洞深度解析

7 阅读2分钟

🧩 项目概述

CVE-2025-13780pgAdmin 4 中的一个严重安全漏洞,该漏洞允许远程攻击者在主机系统上执行任意命令

漏洞发生在pgAdmin运行于服务器模式并用于恢复PLAIN格式的PostgreSQL数据库转储文件时。精心构造的SQL文件可以绕过pgAdmin的保护机制,触发底层操作系统的命令执行。

严重性: 🔴 严重 CVSS v3.1 评分: 9.1 / 10 攻击类型: 远程代码执行 (RCE) 状态: 已修复

🎯 受影响范围

组件状态
产品pgAdmin 4
受影响版本9.10
已修复版本9.11+
部署模式服务器模式
恢复类型PLAIN格式SQL转储

🛠️ 技术剖析

执行数据库恢复操作时:

  1. pgAdmin 将上传的SQL文件传递给 psql 客户端。
  2. pgAdmin 尝试使用正则表达式过滤来阻止危险的psql元命令(例如 \!)。
  3. 攻击者可通过以下方式绕过该过滤器:
    • 使用非标准空白字符
    • 使用回车符
    • 利用UTF-8 BOM或编码技巧
  4. psql 客户端仍会正确解释这些命令。
  5. 最终导致:以pgAdmin服务用户身份执行任意操作系统命令

⚠️ 此案例证明,基于正则表达式的输入过滤不足以对抗解释器层面的解析逻辑。

🔐 漏洞影响

领域影响
🖥️ 主机系统命令执行
🗄️ 数据库可能导致完全失陷
🔑 权限提升可能性存在
🌐 攻击向量网络
👤 所需权限
🧍 用户交互无需

🧪 漏洞利用现状

  • 已公开概念验证 (PoC)
  • 恶意SQL转储文件能够在恢复操作中可靠地实现RCE
  • 漏洞利用以pgAdmin进程权限执行命令

🛡️ 缓解与修复措施

✅ 立即行动

  • 升级到 pgAdmin 4 v9.11 或更高版本
  • 在可能的情况下,禁用或限制PLAIN格式恢复

🔒 安全加固建议

  • 受限制的环境中运行pgAdmin
  • 应用最小权限原则
  • 监控恢复活动并审计日志

🧠 官方修复方案

  • pgAdmin 已将正则表达式过滤替换为 psql 受限模式
  • 元命令现已在解释器层面被阻止

📦 对主流发行版的影响

发行版状态
Red Hat不受影响
Ubuntu不受影响

⚠️ 以上评估仅适用于操作系统打包版本独立安装或上游pgAdmin安装可能仍然存在风险。

📝 总结

CVE-2025-13780 是一个教科书级别的案例,说明了为何输入过滤不能作为安全边界。 如果您在服务器模式下运行pgAdmin 4并允许SQL恢复,那么升级是必须的。 6HFtX5dABrKlqXeO5PUv/84SoIo+TE3firf/5vX8AZ4BlMb+sGEtCgdyzF5enQ+5