PostgreSQL 是一款开源关系型数据库管理系统,PL/Perl 是一种可用于编写 PostgreSQL 函数的脚本语言。PostgreSQL PL/Perl 扩展存在环境变量读写漏洞,会导致部分系统与进程环境变量被窃取或覆盖,在特定条件下可能进一步造成权限接管或代码执行。
高危
截止 2024 年 11 月 18 日 18:00:00(UTC+8)
漏洞细节 | PoC 状态 | 在野利用 |
---|---|---|
已公开 | 已公开 | 未发现 |
影响使用了 plperl 扩展的如下版本 PostgreSQL:
17 ≤ PostgreSQL < 17.1
16 ≤ PostgreSQL < 16.5
15 ≤ PostgreSQL < 15.9
14 ≤ PostgreSQL < 14.14
13 ≤ PostgreSQL < 13.17
12 ≤ PostgreSQL < 12.21
说明
PostgreSQL ≤ 11.22 的版本官方已不再维护
自建服务请将 PostgreSQL 升级至如下版本或更高版本:
云数据库 PostgreSQL 请关注产品公告动态,在新版本推出后升级至安全版本。
禁用并卸载 plperl 扩展
使用防火墙或安全组限定仅可信 IP 连接
设置强口令,避免服务无鉴权/弱口令对外暴露
使用安全的预编译和 SQL 过滤方案,避免 SQL 堆叠注入