高危 pgAdmin 远程代码执行漏洞(CVE-2025-13780)绕过此前修复:可通过恶意数据库恢复实现服务器接管

阅读量8363

发布时间 : 2025-12-15 17:41:52

x
译文声明

本文是翻译文章,文章原作者 Ddos ,文章来源:securityonline

原文地址:https://securityonline.info/critical-pgadmin-rce-cve-2025-13780-flaw-bypasses-fix-allowing-server-takeover-via-malicious-database-restore/

译文仅供参考,具体内容表达以及含义原文为准。

全球最受欢迎的开源 PostgreSQL 数据库管理工具pgAdmin中,被发现存在一处高危安全漏洞。该漏洞编号为CVE-2025-13780,CVSS 评分高达9.1 分(高危级别),攻击者可利用软件在处理文件编码时的一处细微疏漏,实现远程代码执行(RCE)
此漏洞影响9.10 及以下版本且运行在服务器模式下的 pgAdmin。它会将常规的数据库恢复操作变为攻击武器,让攻击者得以在宿主服务器上执行任意指令,对数据库的完整性构成毁灭性风险。
该漏洞的危害性尤为突出,原因在于它绕过了此前针对 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 版本的发布,并立即应用厂商提供的缓解措施,以封堵这一高危漏洞。
本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

安全客

这个人太懒了,签名都懒得写一个

  • 文章
  • 810
  • 粉丝
  • 6

热门推荐

文章目录
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66