安多多云安全平台 · 技术文章

安多多支持检测:CVE-2025-8715 PostgreSQL高危RCE

作者: 让天下没有难做的安全
安多多支持检测:CVE 2025 8715 PostgreSQL高危RCE 作者:让天下没有难做的安全 发布时间:2025年8月15日 17:56 原文链接:微信公众号 漏洞概述 CVE 2025 8715 是一个严重的安全漏洞,其根本原因在于 pg\ dump、pg\ dumpall、pg\ restore、pg\ upgrade工具未正确处理对象名称中的

安多多支持检测:CVE-2025-8715 PostgreSQL高危RCE

作者:让天下没有难做的安全 | 发布时间:2025年8月15日 17:56

原文链接:微信公众号

漏洞概述

CVE-2025-8715 是一个严重的安全漏洞,其根本原因在于 pg_dump、pg_dumpall、pg_restore、pg_upgrade工具未正确处理对象名称中的换行符,导致注释逃逸和命令注入。该漏洞与历史漏洞 CVE-2012-0868 具有相同原因,是软件代码回退导致的问题。

https://github.com/postgres/postgres/commit/70693c645f6e490b9ed450e8611e94ab7af3aad2

影响范围

  • PostgreSQL < 17.6

  • PostgreSQL < 16.10

  • PostgreSQL < 15.14

  • PostgreSQL < 14.19

  • PostgreSQL < 13.22

不受影响版本

  • PostgreSQL < 11.20(即 11.20 之前版本不受影响)

  • 所有已修复版本(如 17.6、16.10 等)

漏洞原理

CVE-2025-8715 的根本原因在于 PostgreSQL 的 g_dump、pg_dumpall、pg_restore、pg_upgrade工具在处理对象名称时未正确过滤换行符,导致攻击者能够通过构造特制的数据库对象名称实现命令注入。具体机制如下:

  1. 注入pg 的元数据\!:攻击者创建包含换行符(\n)和恶意代码的数据库对象(如表名、视图名等)

  2. 漏洞触发:当 pg_dump 等备份数据库时,这些特殊字符被原样输出到备份脚本中

  3. 命令执行:在恢复过程中,psql 解析备份脚本时,换行符导致注释逃逸,恶意代码被当作可执行命令处理

验证

-- 正常备份输出示例
-- Name: public.normal_table; Type: TABLE; Schema: public; Owner: postgres
CREATETABLE public.normal_table(
    id integer
);

-- 恶意对象备份输出(漏洞触发)
-- Name: public.malicious_table\n\! rm -rf /; Type: TABLE; Schema: public; Owner: postgres
CREATETABLE public.malicious_table
! rm -rf / (
    id integer
);

危害

  1. 漏洞允许攻击者在数据库恢复过程中执行任意系统命令

  2. 攻击者只需具备创建数据库对象的权限即可发起攻击

  3. 漏洞影响范围广泛,涉及多个 PostgreSQL 版本,尤其是云服务

安多多已支持检测:

图片

图片

参考链接

- [NVD Detail](https://nvd.nist.gov/vuln/detail/CVE-2025-8715)

- [MITRE CVE Record](https://www.cve.org/CVERecord?id=CVE-2025-8715)

- [PostgreSQL 官方安全公告](https://www.postgresql.org/support/security/CVE-2025-8715/)

- [OpenCVE 漏洞详情](https://app.opencve.io/cve/CVE-2025-8715)

- [PostgreSQL 14.19 Release Notes](https://www.postgresql.org/docs/release/14.19)

- [CVE-2012-0868 PostgreSQL 安全公告](https://www.postgresql.org/support/security/CVE-2012-0868)