PostgreSQL 15
支持中 · 记录构建 15.19 · 2026-08-13
- 首次正式发布
- 2022-10-13
- 支持结束
- 2027-11-11
- 已收录发布版本
- 20
- 原始发布说明条目
- 1046
手册与来源
PostgreSQL 15 本站手册 · 已加载 1092 页。
手册加载时间:2026-09-27T00:10:45.258078。
发布说明快照:2026-09-26。安全证据快照:2026-09-26。PDF 链接按本地文件是否存在提供,历史版本的语言与 HTML 手册可能不同。生命周期参见官方版本政策。
升级注意事项
跨大版本升级需要导出/恢复或 pg_upgrade 等迁移方式,应阅读沿途大版本的发布说明与目标版本手册。小版本更新也可能要求额外操作,请核对对应发布的迁移说明。官方升级政策。
15.0 的原始迁移说明
对于希望从任何以前的版本迁移数据的人来说,需要使用pg_dumpall进行转储/恢复,或者使用pg_upgrade或逻辑复制。有关迁移到新主要版本的通用信息,请参阅第 19.6 节。
版本 15 包含多项可能影响与先前版本兼容性的变更。请注意以下不兼容之处:
发布历史
每次发布的原始变更均独立保留。CVE 数量表示发布说明中的提及,可能包含后续纠正,不等于本次新修复漏洞数。
| 版本 | 日期/快照截止时间 | 全部变化 | BUG 修复 | 迁移条目 | 提及 CVE |
|---|---|---|---|---|---|
| 15.19 | 2026-08-13 | 90 | 36 | 0 | 31 |
| 15.18 | 2026-05-14 | 43 | 17 | 0 | 8 |
| 15.17 | 2026-02-26 | 5 | 4 | 0 | 1 |
| 15.16 | 2026-02-12 | 40 | 17 | 0 | 4 |
| 15.15 | 2025-11-13 | 54 | 30 | 0 | 2 |
| 15.14 | 2025-08-14 | 54 | 17 | 0 | 5 |
| 15.13 | 2025-05-08 | 38 | 18 | 0 | 1 |
| 15.12 | 2025-02-20 | 1 | 0 | 0 | 1 |
| 15.11 | 2025-02-13 | 48 | 29 | 0 | 1 |
| 15.10 | 2024-11-21 | 8 | 4 | 0 | 1 |
| 15.9 | 2024-11-14 | 46 | 18 | 0 | 4 |
| 15.8 | 2024-08-08 | 49 | 25 | 0 | 2 |
| 15.7 | 2024-05-09 | 52 | 23 | 0 | 1 |
| 15.6 | 2024-02-08 | 60 | 22 | 0 | 1 |
| 15.5 | 2023-11-09 | 60 | 26 | 0 | 3 |
| 15.4 | 2023-08-10 | 47 | 22 | 0 | 2 |
| 15.3 | 2023-05-11 | 83 | 41 | 0 | 2 |
| 15.2 | 2023-02-09 | 58 | 30 | 0 | 1 |
| 15.1 | 2022-11-10 | 26 | 13 | 0 | 0 |
| 15.0 | 2022-10-13 | 184 | 3 | 31 | 1 |
首次发布变化
15.0 的原始条目,包含功能和兼容性变化。类别用于浏览,不是上游原始分类。
匹配 184 / 184 条原始变更。
移除 public 模式对 PUBLIC 的创建权限 · 安全相关 · 迁移说明
移除
public模式对PUBLIC的创建权限(Noah Misch)§这一默认设置是模式的安全使用方式之一;自 CVE-2018-1058 安全发布以来,第 5.9.6 节一直推荐这种方式。此变更适用于新的数据库集簇和现有集簇中新创建的数据库。升级集簇或恢复数据库导出将保留
public的现有权限。对于现有数据库,尤其是多用户数据库,请考虑撤销
public模式上的CREATE权限,以采用这一新的默认设置。对于无需防御内部威胁的新数据库,授予CREATE权限即可恢复先前版本的行为。原始发布条目 ·
15.0/migration/001将 hash_mem_multiplier 默认值增加到 2.0 · 兼容性变化 · 迁移说明
将
hash_mem_multiplier默认值增加到 2.0(Peter Geoghegan)§这允许查询 hash 操作使用比其他操作更多的
work_mem内存。原始发布条目 ·
15.0/migration/004移除服务器端语言 plpython2u 和通用 Python 语言 plpythonu · 兼容性变化 · 迁移说明
移除服务器端语言
plpython2u和通用 Python 语言plpythonu(Andres Freund)§Python 2.x 已不再受支持。虽然
plpythonu最初的意图是最终可以指向plpython3u,但现在更改它似乎更可能造成问题而非解决问题,因此它被直接移除。原始发布条目 ·
15.0/migration/005如果向 array_to_tsvector() 传递空字符串数组元素,则生成错误 · 兼容性变化 · 迁移说明
如果向
array_to_tsvector()传递空字符串数组元素,则生成错误(Jean-Christophe Arnu)§这是被禁止的,因为词位不应为空。先前 Postgres 版本的用户应确认未存储空词位,因为它们可能导致导出/恢复失败和结果不一致。
原始发布条目 ·
15.0/migration/006防止 CREATE OR REPLACE VIEW 更改输出列的排序规则 · 兼容性变化 · 迁移说明
防止
CREATE OR REPLACE VIEW更改输出列的排序规则(Tom Lane)§原始发布条目 ·
15.0/migration/008禁止零长度的 Unicode 标识符,例如 U&"" · 兼容性变化 · 迁移说明
禁止零长度的 Unicode 标识符,例如
U&""(Peter Eisentraut)§非 Unicode 的零长度标识符已经被禁止。
原始发布条目 ·
15.0/migration/009将 interval 输出函数标记为 stable 而非 immutable,因为它依赖于 IntervalStyle · 兼容性变化 · 迁移说明
将
interval输出函数标记为 stable 而非 immutable,因为它依赖于IntervalStyle(Tom Lane)§例如,这将导致依赖于
interval值文本输出的索引创建失败。原始发布条目 ·
15.0/migration/014移除登录角色对其自身角色成员资格的默认 ADMIN OPTION 权限 · 兼容性变化 · 迁移说明
移除登录角色对其自身角色成员资格的默认
ADMIN OPTION权限(Robert Haas)§以前,登录角色即使没有
ADMIN OPTION权限也可以添加/移除其自身角色的成员。原始发布条目 ·
15.0/migration/017修复 pg_statio_all_tables 以在 TOAST 表具有多个索引的罕见情况下求和值 · 兼容性变化 · 迁移说明
修复
pg_statio_all_tables以在 TOAST 表具有多个索引的罕见情况下求和值(Andrei Zubkov)§以前这种情况会为每个索引显示一行。
原始发布条目 ·
15.0/migration/021libpq 的 PQsendQuery() 函数在管道模式下不再被支持 · 兼容性变化 · 迁移说明
libpq 的
PQsendQuery()函数在管道模式下不再被支持(Álvaro Herrera)§使用该组合的应用程序需要修改为使用
PQsendQueryParams()代替。原始发布条目 ·
15.0/migration/025避免在 postgres_fdw 发送的查询中对常量进行不必要的类型转换 · 兼容性变化 · 迁移说明
避免在 postgres_fdw 发送的查询中对常量进行不必要的类型转换(Dian Fay)§
当本地和远程数据库之间的列类型故意不同时,这种类型转换可能会导致错误。
原始发布条目 ·
15.0/migration/029增加系统视图 pg_ident_file_mappings 以报告 pg_ident.conf 信息 · 新功能
增加系统视图
pg_ident_file_mappings以报告pg_ident.conf信息(Julien Rouhaud)§原始发布条目 ·
15.0/changes/003修复分区表上的 ALTER TRIGGER RENAME 以正确重命名所有分区上的触发器 · BUG 修复
修复分区表上的
ALTER TRIGGER RENAME以正确重命名所有分区上的触发器(Arne Roland,Álvaro Herrera)§同时禁止重命名克隆的触发器。
原始发布条目 ·
15.0/changes/008增加服务器变量 recursive_worktable_factor 以允许用户指定递归查询工作表的预期大小 · 新功能
增加服务器变量
recursive_worktable_factor以允许用户指定递归查询工作表的预期大小(Simon Riggs)§原始发布条目 ·
15.0/changes/014允许 WAL 全页写入使用 LZ4 和 Zstandard 压缩 · 性能改进
允许 WAL 全页写入使用 LZ4 和 Zstandard 压缩(Andrey Borodin,Justin Pryzby)§ §
这由
wal_compression服务器设置控制。原始发布条目 ·
15.0/changes/020启用检查点和慢速自动清理操作的默认日志记录 · 新功能
启用检查点和慢速自动清理操作的默认日志记录(Bharath Rupireddy)§
这将
log_checkpoints的默认值更改为on,将log_autovacuum_min_duration的默认值更改为 10 分钟。这将导致即使是空闲的服务器也会生成一些日志输出,这在没有日志文件轮转的资源受限服务器上可能会造成问题。在这种情况下应更改这些默认值。原始发布条目 ·
15.0/changes/026在服务器缓慢启动期间在服务器日志中生成进度消息 · 新功能
在服务器缓慢启动期间在服务器日志中生成进度消息(Nitin Jadhav,Robert Haas)§ §
消息报告延迟的原因。通知的时间间隔由新的服务器变量
log_startup_progress_interval控制。原始发布条目 ·
15.0/changes/027增加临时文件块 I/O 的 EXPLAIN (BUFFERS) 输出 · 新功能
增加临时文件块 I/O 的
EXPLAIN (BUFFERS)输出(Masahiko Sawada)§原始发布条目 ·
15.0/changes/030允许 pg_stat_reset_single_table_counters() 重置所有数据库间共享的关系的计数器 · 新功能
允许
pg_stat_reset_single_table_counters()重置所有数据库间共享的关系的计数器(Sadhuprasad Patro)§原始发布条目 ·
15.0/changes/032允许 pg_write_server_files 预定义角色的成员执行服务器端基础备份 · 新功能
允许
pg_write_server_files预定义角色的成员执行服务器端基础备份(Dagfinn Ilmari Mannsåker)§以前只有超级用户可以执行此类备份。
原始发布条目 ·
15.0/changes/035增加预定义角色 pg_checkpoint,允许其成员运行 CHECKPOINT · 新功能
增加预定义角色
pg_checkpoint,允许其成员运行CHECKPOINT(Jeff Davis)§ §以前只有超级用户可以运行检查点。
原始发布条目 ·
15.0/changes/037允许 pg_read_all_stats 预定义角色的成员访问 pg_backend_memory_contexts 和 pg_shmem_allocations 视图 · 新功能
允许
pg_read_all_stats预定义角色的成员访问pg_backend_memory_contexts和pg_shmem_allocations视图(Bharath Rupireddy)§以前这些视图只能由超级用户访问。
原始发布条目 ·
15.0/changes/038允许 GRANT 授予 pg_log_backend_memory_contexts() 的权限 · 新功能
允许
GRANT授予pg_log_backend_memory_contexts()的权限(Jeff Davis)§以前此函数只能由超级用户运行。
原始发布条目 ·
15.0/changes/039增加服务器变量 shared_memory_size 以报告已分配共享内存的大小 · 新功能
增加服务器变量
shared_memory_size以报告已分配共享内存的大小(Nathan Bossart)§ §原始发布条目 ·
15.0/changes/040增加服务器变量 shared_memory_size_in_huge_pages 以报告所需的大内存页数量 · 新功能
增加服务器变量
shared_memory_size_in_huge_pages以报告所需的大内存页数量(Nathan Bossart)§ §这仅在 Linux 上受支持。
原始发布条目 ·
15.0/changes/041在单用户模式下遵守服务器变量 shared_preload_libraries · 新功能
在单用户模式下遵守服务器变量
shared_preload_libraries(Jeff Davis)§此变更支持使用
shared_preload_libraries加载自定义访问方法和 WAL 资源管理器,即使在单用户模式下这对数据库访问也是必需的。原始发布条目 ·
15.0/changes/042在 Solaris 上,将 dynamic_shared_memory_type 的默认设置设为 sysv · 新功能
在 Solaris 上,将
dynamic_shared_memory_type的默认设置设为sysv(Thomas Munro)§之前的默认选择
posix可能导致此平台上的虚假失败。原始发布条目 ·
15.0/changes/043允许 postgres -C 正确报告运行时计算的值 · 新功能
允许
postgres -C正确报告运行时计算的值(Nathan Bossart)§以前,运行时计算的值
data_checksums、wal_segment_size和data_directory_mode会报告在运行中的服务器上不准确的值。但是,这在运行中的服务器上不起作用。原始发布条目 ·
15.0/changes/044允许 WAL 处理预取所需的文件内容 · 新功能
允许 WAL 处理预取所需的文件内容(Thomas Munro)§
这由服务器变量
recovery_prefetch控制。原始发布条目 ·
15.0/changes/047允许通过可加载模块进行归档 · 新功能
允许通过可加载模块进行归档(Nathan Bossart)§
以前,归档只能通过调用 shell 命令完成。新的服务器变量
archive_library可以设置为指定用于归档的库。原始发布条目 ·
15.0/changes/048不再要求在 START_REPLICATION 之前运行 IDENTIFY_SYSTEM · 新功能
不再要求在
START_REPLICATION之前运行IDENTIFY_SYSTEM(Jeff Davis)§原始发布条目 ·
15.0/changes/049允许使用 ALTER SUBSCRIPTION ... SKIP 在订阅者上跳过事务 · 新功能
允许使用
ALTER SUBSCRIPTION ... SKIP在订阅者上跳过事务(Masahiko Sawada)§原始发布条目 ·
15.0/changes/053为逻辑复制增加预备(两阶段)事务支持 · 新功能
为逻辑复制增加预备(两阶段)事务支持(Peter Smith,Ajin Cherian,Amit Kapila,Nikhil Sontakke,Stas Kelvich)§ § §
新的
CREATE_REPLICATION_SLOT选项称为TWO_PHASE。pg_recvlogical 现在在创建槽时支持新的--two-phase选项。原始发布条目 ·
15.0/changes/054增加 SQL 函数来监控逻辑复制槽的目录内容 · 新功能
增加 SQL 函数来监控逻辑复制槽的目录内容(Bharath Rupireddy)§
新函数是
pg_ls_logicalsnapdir()、pg_ls_logicalmapdir()和pg_ls_replslotdir()。它们可以由预定义的pg_monitor角色的成员运行。原始发布条目 ·
15.0/changes/056允许订阅者在出错时停止应用逻辑复制变更 · 新功能
允许订阅者在出错时停止应用逻辑复制变更(Osumi Takamichi,Mark Dilger)§
这通过订阅者选项
disable_on_error启用,避免流应用期间可能的无限错误循环。原始发布条目 ·
15.0/changes/057增加系统视图 pg_stat_subscription_stats 以报告订阅者活动 · 新功能
增加系统视图
pg_stat_subscription_stats以报告订阅者活动(Masahiko Sawada)§ §新函数
pg_stat_reset_subscription_stats()允许重置这些统计计数器。原始发布条目 ·
15.0/changes/059在 pg_publication_tables 系统视图中抑制重复条目 · 新功能
在
pg_publication_tables系统视图中抑制重复条目(Hou Zhijie)§在某些情况下,一个分区可能出现多次。
原始发布条目 ·
15.0/changes/060允许 CREATE DATABASE 设置数据库 OID · 新功能
允许
CREATE DATABASE设置数据库 OID(Shruthi Gowda,Antonin Houska)§原始发布条目 ·
15.0/changes/064防止 DROP DATABASE、DROP TABLESPACE 和 ALTER DATABASE SET TABLESPACE 在 Windows 上并发使用时偶尔失败 · 新功能
防止
DROP DATABASE、DROP TABLESPACE和ALTER DATABASE SET TABLESPACE在 Windows 上并发使用时偶尔失败(Thomas Munro)§原始发布条目 ·
15.0/changes/065允许外键 ON DELETE SET 操作仅影响指定的列 · 新功能
允许外键
ON DELETE SET操作仅影响指定的列(Paul Martinez)§以前,外键中的所有列总是受到影响。
原始发布条目 ·
15.0/changes/066允许 ALTER TABLE 修改表的 ACCESS METHOD · 新功能
允许
ALTER TABLE修改表的ACCESS METHOD(Justin Pryzby,Jeff Davis)§原始发布条目 ·
15.0/changes/067当 ALTER TABLE 导致表重写时正确调用对象访问钩子 · 新功能
当
ALTER TABLE导致表重写时正确调用对象访问钩子(Michael Paquier)§原始发布条目 ·
15.0/changes/068增加正则表达式函数以与其他关系系统兼容 · 新功能
增加正则表达式函数以与其他关系系统兼容(Gilles Darold,Tom Lane)§
新函数是
regexp_count()、regexp_instr()、regexp_like()和regexp_substr()。还为regexp_replace()增加了一些新的可选参数。原始发布条目 ·
15.0/changes/077当将 AT TIME ZONE 应用于 time with time zone 值时,使用事务开始时间而不是挂钟时间来确定是否适用夏令时 · 新功能
当将
AT TIME ZONE应用于time with time zone值时,使用事务开始时间而不是挂钟时间来确定是否适用夏令时(Aleksander Alekseev,Tom Lane)§这允许将转换视为稳定的而不是易变的,并且每次调用节省一次内核调用。
原始发布条目 ·
15.0/changes/080在带数组参数的 ts_delete() 和 setweight() 函数中忽略 NULL 数组元素 · 新功能
在带数组参数的
ts_delete()和setweight()函数中忽略 NULL 数组元素(Jean-Christophe Arnu)§这些函数实际上会忽略空字符串数组元素(因为它们永远不会匹配有效的词素)。让它们也忽略 NULL 元素而不是失败似乎是一致的。
原始发布条目 ·
15.0/changes/081为 pg_size_pretty() 和 pg_size_bytes() 增加 PB 单位支持 · 新功能
为
pg_size_pretty()和pg_size_bytes()增加 PB 单位支持(David Christensen)§原始发布条目 ·
15.0/changes/082更改 pg_event_trigger_ddl_commands() 以使用实际模式名称输出对其他会话临时模式的引用 · 新功能
更改
pg_event_trigger_ddl_commands()以使用实际模式名称输出对其他会话临时模式的引用(Tom Lane)§以前此函数将所有临时模式报告为
pg_temp,但对当前会话的临时模式以外的任何模式使用该名称是有误导性的。原始发布条目 ·
15.0/changes/083改进导出包含许多对象的数据库的性能 · 性能改进
改进导出包含许多对象的数据库的性能(Tom Lane)§ § §
这也将改进pg_upgrade的性能。
原始发布条目 ·
15.0/changes/102将 pg_dump 和pg_dumpall的支持限制为运行 PostgreSQL 9.2 或更高版本的服务器 · 新功能
将 pg_dump 和pg_dumpall的支持限制为运行 PostgreSQL 9.2 或更高版本的服务器(Tom Lane)§
原始发布条目 ·
15.0/changes/105为pg_basebackup增加新选项 --target 以控制基础备份位置 · 新功能
为pg_basebackup增加新选项
--target以控制基础备份位置(Robert Haas)§新选项是
server(在本地写入备份)和blackhole(丢弃备份,用于测试)。原始发布条目 ·
15.0/changes/106为pg_receivewal增加 LZ4 压缩方法 · 新功能
为pg_receivewal增加 LZ4 压缩方法(Georgios Kokolatos)§ §
这通过
--compress=lz4启用,需要使用--with-lz4构建二进制文件。原始发布条目 ·
15.0/changes/110增加 pg_encoding_to_char() 和 pg_char_to_encoding() 的文档 · 新功能
增加
pg_encoding_to_char()和pg_char_to_encoding()的文档(Ian Lawrence Barwick)§原始发布条目 ·
15.0/changes/124增加配置选项 --with-zstd 以启用 Zstandard 构建 · 新功能
增加配置选项
--with-zstd以启用 Zstandard 构建(Jeevan Ladhe,Robert Haas,Michael Paquier)§原始发布条目 ·
15.0/changes/127为 "char" 创建新的 pg_type.typcategory 值 · 新功能
为
"char"创建新的pg_type.typcategory值(Tom Lane)§一些其他仅供内部使用的类型也已被分配到此类别。
原始发布条目 ·
15.0/changes/129增加新的协议消息 TARGET 以指定用于基础备份的新 COPY 方法 · 新功能
增加新的协议消息
TARGET以指定用于基础备份的新COPY方法(Robert Haas)§pg_basebackup 现在使用此方法。
原始发布条目 ·
15.0/changes/130增加新的协议消息 COMPRESSION 和 COMPRESSION_DETAIL 以指定压缩方法和选项 · 新功能
增加新的协议消息
COMPRESSION和COMPRESSION_DETAIL以指定压缩方法和选项(Robert Haas)§ §原始发布条目 ·
15.0/changes/131增加函数 pg_settings_get_flags() 以获取服务器变量的标志 · 新功能
增加函数
pg_settings_get_flags()以获取服务器变量的标志(Justin Pryzby)§原始发布条目 ·
15.0/changes/135增加新模块 basebackup_to_shell 作为自定义备份目标的示例 · 新功能
增加新模块 basebackup_to_shell 作为自定义备份目标的示例(Robert Haas)§ §
原始发布条目 ·
15.0/changes/143增加新模块basic_archive作为通过库执行归档的示例 · 新功能
增加新模块basic_archive作为通过库执行归档的示例(Nathan Bossart)§
原始发布条目 ·
15.0/changes/144允许在布尔列上创建btree_gist索引 · 新功能
允许在布尔列上创建btree_gist索引(Emre Hasegeli)§ § §
这些可以用于排除约束。
原始发布条目 ·
15.0/changes/145修复pageinspect的 page_header() 以处理 32KB 页面大小 · BUG 修复
修复pageinspect的
page_header()以处理 32KB 页面大小(Quan Zongliang)§以前,在某些情况下可能返回不正确的负值。
原始发布条目 ·
15.0/changes/146为pg_stat_statements增加临时文件块 I/O 的计数器 · 新功能
为pg_stat_statements增加临时文件块 I/O 的计数器(Masahiko Sawada)§
原始发布条目 ·
15.0/changes/147增加新模块pg_walinspect · 新功能
增加新模块pg_walinspect(Bharath Rupireddy)§
这提供了类似于pg_waldump的 SQL 级别输出。
原始发布条目 ·
15.0/changes/149增加服务器变量 postgres_fdw.application_name 以控制 postgres_fdw 连接的应用程序名称 · 新功能
增加服务器变量
postgres_fdw.application_name以控制 postgres_fdw 连接的应用程序名称(Hayato Kuroda)§ § §以前远程会话的
application_name只能在远程服务器上设置或通过 postgres_fdw 连接规范设置。postgres_fdw.application_name支持一些用于自定义的转义序列,使得在远程服务器上更容易区分这些连接。原始发布条目 ·
15.0/changes/152
安全证据
共 65 条记录,来自官方安全矩阵及发布说明的提及。只有安全快照明确列出此分支时才显示修复版本;仅有提及不能确定漏洞适用性或新修复。
CVE-2026-6637 · PostgreSQL refint allows stack buffer overflow and SQL injection · CVSS 8.8
Stack buffer overflow in PostgreSQL module "refint" allows an unprivileged database user to execute arbitrary code as the operating system user running the database. A distinct attack is possible if the application declares a user-controlled column as a "refint" cascade primary key and facilitates user-controlled updates to that column. In that case, a SQL injection allows a primary key update value provider to execute arbitrary SQL as the database user performing the primary key update. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-6479 · PostgreSQL SSL/GSS init causes denial of service, via uncontrolled recursion · CVSS 7.5
Uncontrolled recursion in PostgreSQL SSL and GSS negotiation allows an attacker able to connect to a PostgreSQL AF_UNIX socket to achieve sustained denial of service. If SSL and GSS are both disabled, an attacker can do the same via access to a PostgreSQL TCP socket. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
发布说明中的提及:
CVE-2026-6478 · PostgreSQL discloses MD5-hashed passwords via covert timing channel · CVSS 6.5
Covert timing channel in comparison of MD5-hashed password in PostgreSQL authentication allows an attacker to recover user credentials sufficient to authenticate. This does not affect scram-sha-256 passwords, the default in all supported releases. However, current databases may have MD5-hashed passwords originating in upgrades from PostgreSQL 13 or earlier. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2026-6477 · PostgreSQL libpq lo_* functions let server superuser overwrite client stack memory · CVSS 8.8
Use of inherently dangerous function PQfn(..., result_is_int=0, ...) in PostgreSQL libpq lo_export(), lo_read(), lo_lseek64(), and lo_tell64() functions allows the server superuser to overwrite a client stack buffer with an arbitrarily-large response. Like gets(), PQfn(..., result_is_int=0, ...) stores arbitrary-length, server-determined data into a buffer of unspecified size. Because both the \lo_export command in psql and pg_dump call lo_read(), the server superuser can overwrite pg_dump or psql stack memory. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:client。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-6475 · PostgreSQL pg_basebackup and pg_rewind can overwrite unrelated files of origin superuser choice · CVSS 8.8
Symlink following in PostgreSQL pg_basebackup plain format and in pg_rewind allows an origin superuser to overwrite local files, e.g. /var/lib/postgres/.bashrc, that hijack the operating system account. It will remain the case that starting the server after these commands implicitly trusts the origin superuser, due to features like shared_preload_libraries. Hence, the attack has practical implications only if one takes relevant action between these commands and server start, like moving the files to a different VM or snapshotting the VM. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:client。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-6474 · PostgreSQL timeofday() can disclose portions of server memory · CVSS 4.3
Externally-controlled format string in PostgreSQL timeofday() function allows an attacker to retrieve portions of server memory, via crafted timezone zones. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2026-6473 · PostgreSQL server undersizes allocations, via integer wraparound · CVSS 8.8
Integer wraparound in multiple PostgreSQL server features allows an unprivileged database user to cause the server to undersize an allocation and write out-of-bounds. This may execute arbitrary code as the operating system user running the database. In applications that pass gigabyte-scale user inputs to the relevant database functions, the application input provider may achieve a segmentation fault. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-6472 · PostgreSQL CREATE TYPE does not check multirange schema CREATE privilege · CVSS 5.4
Missing authorization in PostgreSQL CREATE TYPE allows an object creator to hijack other queries that use search_path to find user-defined types, including extension-defined types. That is to say, the victim will execute arbitrary SQL functions of the attacker's choice. Versions before PostgreSQL 18.4, 17.10, 16.14, 15.18, and 14.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.18。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2026-6471 · PostgreSQL logical decoding can dlopen arbitrary file · CVSS 7.2
Missing authorization in PostgreSQL logical decoding allows a non-superuser holding REPLICATION privilege to dlopen any file visible to the operating system account running the server, via the choice of logical decoding plugin. This in turn runs arbitrary code as that account. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-6470 · PostgreSQL fails to check type USAGE privilege · CVSS 4.3
Missing authorization in PostgreSQL DDL commands allows an object creator to achieve denial of service against ALTER and DROP of the type, via creating a dependency on the type. Many DDL operations did check the privilege, but assigning a range subtype and referencing the type from an SQL expression did not. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L
发布说明中的提及:
CVE-2026-6469 · PostgreSQL ALTER TABLE ALTER TYPE resets extended statistics ownership · CVSS 3.8
Incorrect ownership assignment in PostgreSQL ALTER TABLE ALTER TYPE command reassigns ownership of dependent statistics objects to the current user. This wrongly allows the table owner to run DROP STATISTICS and ALTER STATISTICS via this improper ownership. It wrongly denies those commands to the prior statistics object owner. DROP TABLE remains able to remove statistics objects, so this exploit achieves nothing in many ownership arrangements. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:L
发布说明中的提及:
CVE-2026-6464 · PostgreSQL psql COPY FROM STDIN early failure processes data lines as psql commands · CVSS 8.1
Untrusted data inclusion in PostgreSQL psql COPY may allow a server administrator to elicit execution of data lines as psql commands, via error injection. If the "COPY FROM STDIN" or "\copy FROM STDIN" command fails before the server indicates that it awaits input rows, psql processes the in-line data rows as psql commands. "COPY FROM" with a filename is unaffected. The server administrator has no inherent control over the data rows, so a complete attack requires the attacker to separately acquire control of both the server and the data rows. Alternatively, an attacker controlling data rows alone might complete an attack through a coincidental error that they don't control. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:client。
官方受影响分支记录:15。
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-2006 · PostgreSQL missing validation of multibyte character length executes arbitrary code · CVSS 8.8
Missing validation of multibyte character length in PostgreSQL text manipulation allows a database user to issue crafted queries that achieve a buffer overrun. That suffices to execute arbitrary code as the operating system user running the database. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.16。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-2005 · PostgreSQL pgcrypto heap buffer overflow executes arbitrary code · CVSS 8.8
Heap buffer overflow in PostgreSQL pgcrypto allows a ciphertext provider to execute arbitrary code as the operating system user running the database. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.16。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-2004 · PostgreSQL intarray missing validation of type of input to selectivity estimator executes arbitrary code · CVSS 8.8
Missing validation of type of input in PostgreSQL intarray extension selectivity estimator function allows an object creator to execute arbitrary code as the operating system user running the database. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.16。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-2003 · PostgreSQL oidvector discloses a few bytes of memory · CVSS 4.3
Improper validation of type "oidvector" in PostgreSQL allows a database user to disclose a few bytes of server memory. We have not ruled out viability of attacks that arrange for presence of confidential information in disclosed bytes, but they seem unlikely. Versions before PostgreSQL 18.2, 17.8, 16.12, 15.16, and 14.21 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.16。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2026-19385 · PostgreSQL pg_dump heap buffer overflow executes arbitrary code · CVSS 8.8
Heap buffer overflow in PostgreSQL pg_dump of long function transform lists allows an object creator to execute arbitrary code as the operating system user running pg_dump, via a crafted transform list. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:client。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-18408 · PostgreSQL psql \unrestrict lets superuser of pg_dump origin server execute arbitrary code in psql client · CVSS 8.8
Untrusted data inclusion in pg_dump in PostgreSQL allows a malicious superuser of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql \restrict meta-command input expansion. The fix for CVE-2025-8714 introduced \restrict and \unrestrict to block this attack, but \unrestrict itself was sufficient for an attack. pg_dumpall is also affected. pg_restore is affected when used to generate a plain-format dump. Non-core use of \restrict would be affected, but we've not identified non-core use. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:client。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-18024 · PostgreSQL ascii() function reads past end of buffer · CVSS 4.3
Buffer over-read in PostgreSQL ascii() SQL function allows a user to disclose up to 3 bytes after the end of a specific allocation, via a crafted text value. This is the same class of defect that CVE-2026-2006 fixed, though this instance has less impact. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2026-16241 · PostgreSQL ECPG integer underflow can crash the client · CVSS 3.8
Integer underflow in PostgreSQL ECPG allows a database server administrator to achieve temporary denial of service against the ECPG client via sending a bytea value lacking the mandatory prefix. The client overwrites a huge memory region with bytes outside attacker knowledge or control. This typically yields a simple SIGSEGV, but rare cases might achieve client-specific integrity impact via the write. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:client。
官方受影响分支记录:15。
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:L/A:L
发布说明中的提及:
CVE-2026-16239 · PostgreSQL type confusion in cursor CLOSE + DECLARE executes arbitrary code · CVSS 8.8
Type confusion in PostgreSQL "portal"/cursor lifecycle allows a user to execute arbitrary code as the operating system user running the database, via re-creation of a cursor or other portal with different types. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-16238 · PostgreSQL type confusion in pg_restore_attribute_stats() executes arbitrary code · CVSS 8.8
Type confusion in PostgreSQL pg_restore_attribute_stats() allows an object creator to execute arbitrary code as the operating system user running the database, via conflation of range and multirange values. Within major version 18, minor versions before PostgreSQL 18.6 are affected. Versions before PostgreSQL 18 are unaffected.
以上保留官方英文漏洞说明。
尚未记录本分支的修复版本。组件:core server。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-15742 · PostgreSQL fuzzystrmatch writes effectively-arbitrary addresses, via integer wraparound · CVSS 8.8
Integer wraparound in PostgreSQL fuzzystrmatch allows a user to direct writes to a huge range of addresses, executing arbitrary code as the operating system user running the database, via extreme inputs to SQL function levenshtein() or levenshtein_less_equal(). Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-15741 · PostgreSQL expression deparse allows SQL injection via EXTRACT argument · CVSS 8.8
SQL injection in PostgreSQL EXTRACT() deparse allows an object owner to execute arbitrary SQL as a superuser via a hostile object definition. Attacks affect expression deparse consumers broadly, including pg_dump, psql commands like \sf, and any similar usage in non-core tools. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14681 · PostgreSQL improper enforcement of GSSAPI encryption when coupled with SSL · CVSS 4.2
Improper enforcement of message integrity in PostgreSQL GSSAPI support allows a user to negotiate GSSAPI contrary to pg_hba.conf rules, via initial direct TLS connection. Despite a pg_hba.conf that appears to require GSSAPI, the connection may exchange data over TLS encryption alone. If the TLS settings are more permissive than the GSS settings, the connection may continue with lesser protection. Within major versions 17-18, minor versions before PostgreSQL 18.6 and 17.11 are affected. Versions before PostgreSQL 17 are unaffected.
以上保留官方英文漏洞说明。
尚未记录本分支的修复版本。组件:core server。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2026-14680 · PostgreSQL type confusion via "internal" arguments · CVSS 8.8
Type confusion with PostgreSQL "internal" data type arguments allows any user to execute arbitrary code as the operating system user running the database, via calls to functions with that argument type. Type "internal" represents a class of mutually-incompatible data structures not intended for access from SQL. The system intended to prevent such function calls, but this prevention had gaps. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14679 · PostgreSQL stack buffer overflow in argument match writes 0x0 and 0x1 to server memory · CVSS 8.2
Stack buffer overflow in PostgreSQL argument name matching allows an object creator to achieve unknown impacts via OUT parameter count. The attack can write only 0x0 and 0x1 bytes. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
发布说明中的提及:
CVE-2026-14678 · PostgreSQL pg_trgm picksplit reads past end of buffer · CVSS 4.3
Buffer over-read in PostgreSQL pg_trgm index picksplit function reads past end of a heap buffer. This might allow a table maintainer to infer limited memory values, via the lossy signal of index split choices. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2026-14677 · PostgreSQL 32-bit pltcl and plperl undersize allocations, via integer wraparound · CVSS 8.8
Integer wraparound in PostgreSQL 32-bit builds of pltcl and plperl allows an object creator to cause the server to undersize an allocation and write out-of-bounds via crafted function bodies. This may execute arbitrary code as the operating system user running the database. CVE-2026-6473 had fixed similar problems. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14676 · PostgreSQL pg_stat_statements heap buffer overflow executes arbitrary code · CVSS 8.8
Heap buffer overflow in PostgreSQL pg_stat_statements allows the query author to execute arbitrary code as the operating system user running the database, via crafted queries containing array constants. Within major version 18, minor versions before PostgreSQL 18.6 are affected. Versions before PostgreSQL 18 are unaffected.
以上保留官方英文漏洞说明。
尚未记录本分支的修复版本。组件:contrib module。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14673 · PostgreSQL amcheck does not clear untrusted search path · CVSS 3.8
Untrusted search path in PostgreSQL amcheck allows a grantee of amcheck function EXECUTE privilege to execute arbitrary functions as the owners of expression indexes that depend on the search path, via setting a hostile search path before calling the amcheck function. Within major versions 18, 16, 15, and 14, minor versions before PostgreSQL 18.6, 16.15, 15.19, and 14.24 are affected. PostgreSQL 17 is unaffected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2026-14672 · PostgreSQL observable response discrepancy with non-default scram_iterations provides user existence oracle · CVSS 5.3
Observable response discrepancy in PostgreSQL SCRAM authentication allows an unauthenticated user to test the existence of a user via observing the SCRAM iteration count. This requires the probed user to have a non-default scram_iterations count, because the authentication challenge for a nonexistent user reports the default scram_iterations. Within major versions 16-18, minor versions before PostgreSQL 18.6, 17.11, and 16.15 are affected. Versions before PostgreSQL 16 are unaffected.
以上保留官方英文漏洞说明。
尚未记录本分支的修复版本。组件:core server。
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2026-14671 · PostgreSQL refint plan cache type confusion executes arbitrary code · CVSS 8.8
Type confusion in PostgreSQL module "refint" allows an object creator to execute arbitrary code as the operating system user running the database. The fix for this emerged as a non-security bug report, and the fix appear in the git repository with subject "refint: Remove plan cache.", without a CVE number. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14670 · PostgreSQL plperl tied object heap buffer overflow executes arbitrary code · CVSS 8.8
Heap buffer overflow in PostgreSQL plperl return of a tied hash allows the function owner to execute arbitrary code as the operating system user running the database, via a crafted function body. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14669 · PostgreSQL to_char heap buffer overflow executes arbitrary code · CVSS 8.8
Heap buffer overflow in PostgreSQL to_char(timestamptz) allows the party choosing the timezone to execute arbitrary code as the operating system user running the database, via a long POSIX timezone abbreviation. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14668 · PostgreSQL ctid type confusion in selectivity estimator discloses derivative of arbitrary read · CVSS 8.1
Type confusion regarding input of PostgreSQL ctid data type selectivity estimator allows an object creator to view a calculation derived from the value of an arbitrary 4-byte span of memory, via a chosen non-ctid input. While the calculation loses precision, substantial memory value recovery appears possible. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
发布说明中的提及:
CVE-2026-14666 · PostgreSQL row security caching disregards role modifications · CVSS 4.2
Incomplete tracking in PostgreSQL of changes to role membership, role attributes, and database ownership allows a query to continue using cached row-level security policies after those changes require a different policy, via plan reuse. Stale policies continue until some other event invalidates the cache or connection termination ends the session. This permits a user to complete reads and modifications that were recently permitted but now forbidden. An attacker must tailor an attack to a particular application's pattern of privilege removal and role-specific row security policies. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2026-14664 · PostgreSQL regexp heap buffer overflow executes arbitrary code · CVSS 8.8
Heap buffer overflow in PostgreSQL regexp allows the query author to execute arbitrary code as the operating system user running the database, via text that would not pass encoding validation. This shares heritage with CVE-2026-2006, but this case involved unanticipated data growth when round-tripped through pg_wchar. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2026-14663 · PostgreSQL pgcrypto, for OpenSSL-disabled ciphers, silently encrypts to and decrypts from cleartext · CVSS 6.5
Cleartext storage in PostgreSQL pgcrypto disabled ciphers allows a user to recover cleartext, via direct observation of the faulty ciphertext. The OpenSSL version and OpenSSL configuration determine the disabled ciphers. If the application accepts encrypted data as input, decryption will succeed even with the wrong key. This in turn loses the modest protection from the Modification Detection Code (MDC). Affected functions are pgp_sym_encrypt, pgp_sym_decrypt, pgp_pub_encrypt, pgp_pub_decrypt, pgp_sym_encrypt_bytea, pgp_sym_decrypt_bytea, pgp_pub_encrypt_bytea, and pgp_pub_decrypt_bytea. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:contrib module。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2026-14662 · PostgreSQL tsvector and tsquery undersize allocations, via integer wraparound · CVSS 8.8
Integer wraparound in PostgreSQL tsvector and tsquery data type functions allows an unprivileged database user to cause the server to undersize an allocation and write out-of-bounds, via crafted large inputs. This may execute arbitrary code as the operating system user running the database. These types are typically sourced from application logic, not taken from the application's user. Hence, application users attacking the database, through the application as a conduit, are unlikely. CVE-2026-6473 had fixed similar problems. Versions before PostgreSQL 18.6, 17.11, 16.15, 15.19, and 14.24 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.19。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2025-8715 · PostgreSQL pg_dump newline in object name executes arbitrary code in psql client and in restore target server · CVSS 8.8
Improper neutralization of newlines in pg_dump in PostgreSQL allows a user of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands inside a purpose-crafted object name. The same attacks can achieve SQL injection as a superuser of the restore target server. pg_dumpall, pg_restore, and pg_upgrade are also affected. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected. Versions before 11.20 are unaffected. CVE-2012-0868 had fixed this class of problem, but version 11.20 reintroduced it.
以上保留官方英文漏洞说明。
本分支修复于:15.14。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2025-8714 · PostgreSQL pg_dump lets superuser of origin server execute arbitrary code in psql client · CVSS 8.8
Untrusted data inclusion in pg_dump in PostgreSQL allows a malicious superuser of the origin server to inject arbitrary code for restore-time execution as the client operating system account running psql to restore the dump, via psql meta-commands. pg_dumpall is also affected. pg_restore is affected when used to generate a plain-format dump. This is similar to MySQL CVE-2024-21096. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.14。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2025-8713 · PostgreSQL optimizer statistics can expose sampled data within a view, partition, or child table · CVSS 3.1
PostgreSQL optimizer statistics allow a user to read sampled data within a view that the user cannot access. Separately, statistics allow a user to read sampled data that a row security policy intended to hide. PostgreSQL maintains statistics for tables by sampling data available in columns; this data is consulted during the query planning process. Prior to this release, a user could craft a leaky operator that bypassed view access control lists (ACLs) and bypassed row security policies in partitioning or table inheritance hierarchies. Reachable statistics data notably included histograms and most-common-values lists. CVE-2017-7484 and CVE-2019-10130 intended to close this class of vulnerability, but this gap remained. Versions before PostgreSQL 17.6, 16.10, 15.14, 14.19, and 13.22 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.14。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2025-4207 · PostgreSQL GB18030 encoding validation can read one byte past end of allocation for text that fails validation · CVSS 5.9
Buffer over-read in PostgreSQL GB18030 encoding validation allows a database input provider to achieve temporary denial of service on platforms where a 1-byte over-read can elicit process termination. This affects the database server and also libpq. Versions before PostgreSQL 17.5, 16.9, 15.13, 14.18, and 13.21 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.13。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
发布说明中的提及:
CVE-2025-12818 · PostgreSQL libpq undersizes allocations, via integer wraparound · CVSS 5.9
Integer wraparound in multiple PostgreSQL libpq client library functions allows an application input provider or network peer to cause libpq to undersize an allocation and write out-of-bounds by hundreds of megabytes. This results in a segmentation fault for the application using libpq. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.15。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
发布说明中的提及:
CVE-2025-12817 · PostgreSQL CREATE STATISTICS does not check for schema CREATE privilege · CVSS 3.1
Missing authorization in PostgreSQL CREATE STATISTICS command allows a table owner to achieve denial of service against other CREATE STATISTICS users by creating in any schema. A later CREATE STATISTICS for the same name, from a user having the CREATE privilege, would then fail. Versions before PostgreSQL 18.1, 17.7, 16.11, 15.15, 14.20, and 13.23 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.15。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
发布说明中的提及:
CVE-2025-1094 · PostgreSQL quoting APIs miss neutralizing quoting syntax in text that fails encoding validation · CVSS 8.1
Improper neutralization of quoting syntax in PostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() allows a database input provider to achieve SQL injection in certain usage patterns. Specifically, SQL injection requires the application to use the function result to construct input to psql, the PostgreSQL interactive terminal. Similarly, improper neutralization of quoting syntax in PostgreSQL command line utility programs allows a source of command line arguments to achieve SQL injection when client_encoding is BIG5 and server_encoding is one of EUC_TW or MULE_INTERNAL. Versions before PostgreSQL 17.3, 16.7, 15.11, 14.16, and 13.19 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.11。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2024-7348 · PostgreSQL relation replacement during pg_dump executes arbitrary SQL · CVSS 8.8
Time-of-check Time-of-use (TOCTOU) race condition in pg_dump in PostgreSQL allows an object creator to execute arbitrary SQL functions as the user running pg_dump, which is often a superuser. The attack involves replacing another relation type with a view or foreign table. The attack requires waiting for pg_dump to start, but winning the race condition is trivial if the attacker retains an open transaction. Versions before PostgreSQL 16.4, 15.8, 14.13, 13.16, and 12.20 are affected. The PostgreSQL project thanks Noah Misch for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.8。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2024-4317 · Restrict visibility of "pg_stats_ext" and "pg_stats_ext_exprs" entries to the table owner · CVSS 3.1
Missing authorization in PostgreSQL built-in views pg_stats_ext and pg_stats_ext_exprs allows an unprivileged database user to read most common values and other statistics from CREATE STATISTICS commands of other users. The most common values may reveal column values the eavesdropper could not otherwise read or results of functions they cannot execute. Installing an unaffected version only fixes fresh PostgreSQL installations, namely those that are created with the initdb utility after installing that version. Current PostgreSQL installations will remain vulnerable until they follow the instructions in the release notes, which are provided as a convenience in the below section. Within major versions 14-16, minor versions before PostgreSQL 16.3, 15.7, and 14.12 are affected. Versions before PostgreSQL 14 are unaffected. This fix only fixes fresh PostgreSQL installations, namely those that are created with the initdb utility after this fix is applied. If you have a current PostgreSQL installation and are concerned about this issue, please use the following remediation steps to fix the issue: From the above URLs, you can click the URL that says "raw" to download a version that you can copy and paste. Be sure to use the script appropriate to your PostgreSQL major version. If you do not see this file, either your version is not vulnerable (only PostgreSQL 14, 15, and 16 are affected) or your minor version is too old to have the fix. \i /usr/share/postgresql/fix-CVE-2024-4317.sql ALTER DATABASE template0 WITH ALLOW_CONNECTIONS true; After executing the fix-CVE-2024-4317.sql script in template0 and template1 , you should revoke the ability for template0 to accept connections. You can do this with the following command: ALTER DATABASE template0 WITH ALLOW_CONNECTIONS false; The PostgreSQL project thanks Lukas Fittl for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.7。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2024-10979 · PostgreSQL PL/Perl environment variable changes execute arbitrary code · CVSS 8.8
Incorrect control of environment variables in PostgreSQL PL/Perl allows an unprivileged database user to change sensitive process environment variables (e.g. PATH ). That often suffices to enable arbitrary code execution, even if the attacker lacks a database server operating system user. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. The PostgreSQL project thanks Coby Abrams for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.9。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2024-10978 · PostgreSQL SET ROLE, SET SESSION AUTHORIZATION reset to wrong user ID · CVSS 4.2
Incorrect privilege assignment in PostgreSQL allows a less-privileged application user to view or change different rows from those intended. An attack requires the application to use SET ROLE , SET SESSION AUTHORIZATION , or an equivalent feature. The problem arises when an application query uses parameters from the attacker or conveys query results to the attacker. If that query reacts to current_setting('role') or the current user ID, it may modify or return data as though the session had not used SET ROLE or SET SESSION AUTHORIZATION . The attacker does not control which incorrect user ID applies. Query text from less-privileged sources is not a concern here, because SET ROLE and SET SESSION AUTHORIZATION are not sandboxes for unvetted queries. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. The PostgreSQL project thanks Tom Lane for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.9。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2024-10977 · PostgreSQL libpq retains an error message from man-in-the-middle · CVSS 3.1
Client use of server error message in PostgreSQL allows a server not trusted under current SSL or GSS settings to furnish arbitrary non-NUL bytes to the libpq application. For example, a man-in-the-middle attacker could send a long error message that a human or screen-scraper user of psql mistakes for valid query results. This is probably not a concern for clients where the user interface unambiguously indicates the boundary between one error message and other text. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected. The PostgreSQL project thanks Jacob Champion for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.9。组件:client。
官方受影响分支记录:15。
AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:L/A:N
发布说明中的提及:
CVE-2024-10976 · PostgreSQL row security below e.g. subqueries disregards user ID changes · CVSS 4.2
Incomplete tracking in PostgreSQL of tables with row security allows a reused query to view or change different rows from those intended. CVE-2023-2455 and CVE-2016-2193 fixed most interaction between row security and user ID changes. They missed cases where a subquery, WITH query, security invoker view, or SQL-language function references a table with a row-level security policy. This has the same consequences as the two earlier CVEs. That is to say, it leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLEs. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. An attacker must tailor an attack to a particular application's pattern of query plan reuse, user ID changes, and role-specific row security policies. Versions before PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, and 12.21 are affected.
以上保留官方英文漏洞说明。
本分支修复于:15.9。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2024-0985 · PostgreSQL non-owner REFRESH MATERIALIZED VIEW CONCURRENTLY executes arbitrary SQL · CVSS 8.0
UPDATE (June 19, 2024) : Added v16 as impacted. Updated description to clarify the attack vector. Late privilege drop in REFRESH MATERIALIZED VIEW CONCURRENTLY in PostgreSQL allows an object creator to execute arbitrary SQL functions as the command issuer. The command intends to run SQL functions as the owner of the materialized view, enabling safe refresh of untrusted materialized views. The victim is a superuser or member of one of the attacker's roles. The attack requires luring the victim into running REFRESH MATERIALIZED VIEW CONCURRENTLY on the attacker's materialized view.
以上保留官方英文漏洞说明。
本分支修复于:15.6。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2023-5870 · Role "pg_signal_backend" can signal certain superuser processes · CVSS 2.2
Documentation says the pg_signal_backend role cannot signal "a backend owned by a superuser". On the contrary, it can signal background workers, including the logical replication launcher. It can signal autovacuum workers and the autovacuum launcher. Signaling autovacuum workers and those two launchers provides no meaningful exploit, so exploiting this vulnerability requires a non-core extension with a less-resilient background worker. For example, a non-core background worker that does not auto-restart would experience a denial of service with respect to that particular background worker. The PostgreSQL project thanks Hemanth Sandrana and Mahendrakar Srinivasarao for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.5。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L
发布说明中的提及:
CVE-2023-5869 · Buffer overrun from integer overflow in array modification · CVSS 8.8
While modifying certain SQL array values, missing overflow checks let authenticated database users write arbitrary bytes to a memory area that facilitates arbitrary code execution. Missing overflow checks also let authenticated database users read a wide area of server memory. The CVE-2021-32027 fix covered some attacks of this description, but it missed others. The PostgreSQL project thanks Pedro Gallegos for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.5。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2023-5868 · Memory disclosure in aggregate function calls · CVSS 4.3
Certain aggregate function calls receiving "unknown"-type arguments could disclose bytes of server memory from the end of the "unknown"-type value to the next zero byte. One typically gets an "unknown"-type value via a string literal having no type designation. We have not confirmed or ruled out viability of attacks that arrange for presence of notable, confidential information in disclosed bytes. The PostgreSQL project thanks Jingzhou Fu for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.5。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2023-39418 · MERGE fails to enforce UPDATE or SELECT row security policies · CVSS 3.1
PostgreSQL 15 introduced the MERGE command, which fails to test new rows against row security policies defined for UPDATE and SELECT . If UPDATE and SELECT policies forbid some row that INSERT policies do not forbid, a user could store such rows. Subsequent consequences are application-dependent. This affects only databases that have used CREATE POLICY to define a row security policy. The PostgreSQL project thanks Dean Rasheed for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.4。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
发布说明中的提及:
CVE-2023-39417 · Extension script @substitutions@ within quoting allow SQL injection · CVSS 7.5
An extension script is vulnerable if it uses @extowner@ , @extschema@ , or @extschema:...@ inside a quoting construct (dollar quoting, '' , or "" ). No bundled extension is vulnerable. Vulnerable uses do appear in a documentation example and in non-bundled extensions. Hence, the attack prerequisite is an administrator having installed files of a vulnerable, trusted, non-bundled extension. Subject to that prerequisite, this enables an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. PostgreSQL will block this attack in the core server, so there's no need to modify individual extensions. The PostgreSQL project thanks Micah Gates, Valerie Woolard, Tim Carey-Smith, and Christoph Berg for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.4。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2023-2455 · Row security policies disregard user ID changes after inlining · CVSS 4.2
While CVE-2016-2193 fixed most interaction between row security and user ID changes, it missed a scenario involving function inlining. This leads to potentially incorrect policies being applied in cases where role-specific policies are used and a given query is planned under one role and then executed under other roles. This scenario can happen under security definer functions or when a common user and query is planned initially and then re-used across multiple SET ROLE s. Applying an incorrect policy may permit a user to complete otherwise-forbidden reads and modifications. This affects only databases that have used CREATE POLICY to define a row security policy. The PostgreSQL project thanks Wolfgang Walther for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.3。组件:core server。
官方受影响分支记录:15。
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
发布说明中的提及:
CVE-2023-2454 · CREATE SCHEMA ... schema_element defeats protective search_path changes · CVSS 7.2
This enabled an attacker having database-level CREATE privilege to execute arbitrary code as the bootstrap superuser. Database owners have that right by default, and explicit grants may extend it to other users. The PostgreSQL project thanks Alexander Lakhin for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.3。组件:core server。
官方受影响分支记录:15。
AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2022-41862 · Client memory disclosure when connecting, with Kerberos, to modified server · CVSS 3.7
A modified, unauthenticated server can send an unterminated string during the establishment of Kerberos transport encryption. When a libpq client application has a Kerberos credential cache and doesn't explicitly disable option gssencmode , a server can cause libpq to over-read and report an error message containing uninitialized bytes from and following its receive buffer. If libpq's caller somehow makes that message accessible to the attacker, this achieves a disclosure of the over-read bytes. We have not confirmed or ruled out viability of attacks that arrange for a crash or for presence of notable, confidential information in disclosed bytes. The PostgreSQL project thanks Jacob Champion for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:15.2。组件:client。
官方受影响分支记录:15。
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及: