pgAdmin严重远程代码执行漏洞(CVE-2025-13780)可绕过修复,允许通过恶意数据库恢复接管服务器

admin 2025-12-22 04:30:38 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: pgAdmin存在严重远程代码执行漏洞CVE-2025-13780,影响9.10及更早版本。攻击者可利用UTF-8BOM字节序列绕过安全过滤器,通过恶意数据库恢复文件在服务器上执行任意命令,从而完全接管系统。建议管理员立即更新至修复版本或应用官方缓解措施。 综合评分: 96 文章分类: 漏洞分析,漏洞预警,代码审计,WEB安全,数据安全


cover_image

pgAdmin 严重远程代码执行漏洞 (CVE-2025-13780) 可绕过修复,允许通过恶意数据库恢复接管服务器

sec随谈

sec随谈

2025年12月15日 09:04 北京

全球最流行的开源PostgreSQL管理工具pgAdmin被发现存在严重安全 漏洞。该漏洞编号为CVE-2025-13780,CVSS评分为9.1,属于严重级别。攻击者可以利用该软件处理文件编码方式中的一个细微缺陷,实现远程代码执行(RCE)。

该漏洞影响以服务器模式运行的 pgAdmin 9.10 及更早版本。它会导致攻击者利用例行的数据库恢复操作,在主机服务器上执行任意命令,从而对数据库完整性构成灾难性风险。

该漏洞尤其令人担忧,因为它绕过了针对先前问题 CVE-2025-12762 实施的安全修复程序。

在之前的补丁中,pgAdmin 团队引入了一个过滤器,旨在从 SQL 转储文件中移除危险的“元命令”,防止它们被执行。然而,安全研究人员找到了一种方法,可以使用简单的字节序列来绕过这个过滤器。

问题的核心在于 pgAdmin 的安全过滤器(特别是 has_meta_commands() 函数)扫描文件的方式与底层 psql 实用程序执行文件的方式之间的差异。

该过滤器使用正则表达式扫描原始字节,查找诸如 ! 之类的危险命令(该命令允许执行 shell 命令)。然而,该正则表达式并未针对特定的文件签名进行处理,例如 UTF-8 字节顺序标记 (BOM)——通常添加到文本文件开头的字节序列 (EF BB BF),用于指示编码。

以下是漏洞利用链:

  1. 攻击者精心制作了一个恶意的 PLAIN 格式 SQL 转储文件,该文件以 UTF-8 BOM 字节序列开头。
  2. 当 pgAdmin 扫描文件时,正则表达式首先遇到的是 BOM 字节。由于它无法将其识别为“可忽略”字节,因此未能检测到紧随其后的危险元命令。过滤器会假定文件是安全的。
  3. pgAdmin随后使用--file参数将文件传递给psql工具。与过滤器不同,psql能够智能地处理文本编码。它会自动去除BOM字节,读取危险的\!元命令,并执行攻击者的有效载荷。

这种“解析不匹配”使得攻击者能够以运行 pgAdmin 服务器的用户的权限注入并执行任意命令。这可能导致:

  • 服务器完全被攻陷。
  • 敏感数据库数据被盗或删除。
  • 在托管数据库基础设施的网络内部进行横向移动。

以服务器模式运行 pgAdmin 的管理员应立即检查其版本。由于受影响的版本最高至 9.10,团队应尽快等待 pgAdmin 9.11 的发布,或立即应用供应商提供的缓解措施,以弥补这一关键漏洞。

参考链接:

https://github.com/pgadmin-org/pgadmin4/issues/9368


查看原文:《pgAdmin 严重远程代码执行漏洞 (CVE-2025-13780) 可绕过修复,允许通过恶意数据库恢复接管服务器》

评论:0   参与:  3