PostgreSQL 14
支持中 · 记录构建 14.24 · 2026-08-13
- 首次正式发布
- 2021-09-30
- 支持结束
- 2026-11-12
- 已收录发布版本
- 25
- 原始发布说明条目
- 1206
手册与来源
PostgreSQL 14 本站手册 · 已加载 1084 页。
手册加载时间:2026-09-27T00:10:45.258078。
发布说明快照:2026-09-26。安全证据快照:2026-09-26。PDF 链接按本地文件是否存在提供,历史版本的语言与 HTML 手册可能不同。生命周期参见官方版本政策。
升级注意事项
跨大版本升级需要导出/恢复或 pg_upgrade 等迁移方式,应阅读沿途大版本的发布说明与目标版本手册。小版本更新也可能要求额外操作,请核对对应发布的迁移说明。官方升级政策。
14.0 的原始迁移说明
对于希望从任何以前的版本迁移数据的人来说,需要使用pg_dumpall进行转储/恢复,或者使用pg_upgrade或逻辑复制。有关迁移到新主要版本的通用信息,请参阅第 19.6 节。
版本 14 包含许多可能影响与先前版本兼容性的变更。请注意以下不兼容性:
发布历史
每次发布的原始变更均独立保留。CVE 数量表示发布说明中的提及,可能包含后续纠正,不等于本次新修复漏洞数。
| 版本 | 日期/快照截止时间 | 全部变化 | BUG 修复 | 迁移条目 | 提及 CVE |
|---|---|---|---|---|---|
| 14.24 | 2026-08-13 | 83 | 31 | 0 | 31 |
| 14.23 | 2026-05-14 | 38 | 15 | 0 | 8 |
| 14.22 | 2026-02-26 | 5 | 4 | 0 | 1 |
| 14.21 | 2026-02-12 | 37 | 16 | 0 | 4 |
| 14.20 | 2025-11-13 | 46 | 23 | 0 | 2 |
| 14.19 | 2025-08-14 | 47 | 12 | 0 | 5 |
| 14.18 | 2025-05-08 | 35 | 16 | 0 | 1 |
| 14.17 | 2025-02-20 | 2 | 1 | 0 | 1 |
| 14.16 | 2025-02-13 | 46 | 26 | 0 | 1 |
| 14.15 | 2024-11-21 | 7 | 3 | 0 | 1 |
| 14.14 | 2024-11-14 | 44 | 17 | 0 | 4 |
| 14.13 | 2024-08-08 | 42 | 21 | 0 | 2 |
| 14.12 | 2024-05-09 | 42 | 18 | 0 | 1 |
| 14.11 | 2024-02-08 | 49 | 18 | 0 | 1 |
| 14.10 | 2023-11-09 | 56 | 21 | 0 | 3 |
| 14.9 | 2023-08-10 | 39 | 20 | 0 | 1 |
| 14.8 | 2023-05-11 | 67 | 31 | 0 | 2 |
| 14.7 | 2023-02-09 | 47 | 23 | 0 | 1 |
| 14.6 | 2022-11-10 | 41 | 17 | 0 | 0 |
| 14.5 | 2022-08-11 | 39 | 18 | 0 | 2 |
| 14.4 | 2022-06-16 | 19 | 9 | 0 | 0 |
| 14.3 | 2022-05-12 | 52 | 25 | 0 | 1 |
| 14.2 | 2022-02-10 | 57 | 31 | 0 | 0 |
| 14.1 | 2021-11-11 | 46 | 21 | 0 | 2 |
| 14.0 | 2021-09-30 | 220 | 2 | 27 | 0 |
首次发布变化
14.0 的原始条目,包含功能和兼容性变化。类别用于浏览,不是上游原始分类。
匹配 220 / 220 条原始变更。
引用某些内置数组函数及其参数类型的用户定义对象必须重新创建 · 兼容性变化 · 迁移说明
引用某些内置数组函数及其参数类型的用户定义对象必须重新创建(Tom Lane)§
具体来说,
array_append()、array_prepend()、array_cat()、array_position()、array_positions()、array_remove()、array_replace()和width_bucket()以前接受anyarray参数,但现在接受anycompatiblearray。因此,引用这些数组函数签名的用户定义对象(如聚合和操作符)必须在升级前删除,并在升级完成后重新创建。原始发布条目 ·
14.0/migration/001修复 to_tsquery() 和 websearch_to_tsquery() 以正确解析包含丢弃标记的查询文本 · 兼容性变化 · 迁移说明
修复
to_tsquery()和websearch_to_tsquery()以正确解析包含丢弃标记的查询文本(Alexander Korotkov)§某些丢弃标记(如下划线)会导致这些函数产生不正确的 tsquery 输出,例如,
websearch_to_tsquery('"pg_class pg"')和to_tsquery('pg_class <-> pg')以前都输出( 'pg' & 'class' ) <-> 'pg',但现在都输出'pg' <-> 'class' <-> 'pg'。原始发布条目 ·
14.0/migration/003修复 websearch_to_tsquery() 以正确解析引号中多个相邻丢弃标记 · 兼容性变化 · 迁移说明
修复
websearch_to_tsquery()以正确解析引号中多个相邻丢弃标记(Alexander Korotkov)§以前,包含多个相邻丢弃标记的引号文本被视为多个标记,导致不正确的 tsquery 输出,例如,
websearch_to_tsquery('"aaa: bbb"')以前输出'aaa' <2> 'bbb',但现在输出'aaa' <-> 'bbb'。原始发布条目 ·
14.0/migration/004当输入为单个 NaN 值时,将带有 numeric 参数的 var_samp() 和 stddev_samp() 改为返回 NULL · 兼容性变化 · 迁移说明
当输入为单个 NaN 值时,将带有 numeric 参数的
var_samp()和stddev_samp()改为返回 NULL(Tom Lane)§以前返回
NaN。原始发布条目 ·
14.0/migration/006当使用属性编号检查不存在或已删除的列时,has_column_privilege() 返回 false · 兼容性变化 · 迁移说明
当使用属性编号检查不存在或已删除的列时,
has_column_privilege()返回 false(Joe Conway)§以前这样的属性编号会返回无效列错误。
原始发布条目 ·
14.0/migration/007移除阶乘操作符 ! 和 !!,以及函数 numeric_fac() · 兼容性变化 · 迁移说明
移除阶乘操作符
!和!!,以及函数numeric_fac()(Mark Dilger)§factorial()函数仍然受支持。原始发布条目 ·
14.0/migration/009将password_encryption服务器参数的默认值改为 scram-sha-256 · 兼容性变化 · 迁移说明
将password_encryption服务器参数的默认值改为
scram-sha-256(Peter Eisentraut)§以前默认值为
md5。除非更改此服务器设置或密码以 MD5 格式指定,否则所有新密码将以 SHA256 存储。此外,以前作为md5同义词的旧式(未记录的)布尔型值不再被接受。原始发布条目 ·
14.0/migration/016改进 pg_hba.conf 中 clientcert 的规范 · 兼容性变化 · 迁移说明
改进
pg_hba.conf中clientcert的规范(Kyotaro Horiguchi)§不再支持值
1/0/no-verify;只能使用字符串verify-ca和verify-full。此外,如果启用了 cert 认证,则禁止使用verify-ca,因为 cert 要求verify-full检查。原始发布条目 ·
14.0/migration/019禁止在 CREATE/DROP LANGUAGE 命令中对语言名称使用单引号 · 兼容性变化 · 迁移说明
禁止在
CREATE/DROP LANGUAGE命令中对语言名称使用单引号(Peter Eisentraut)§原始发布条目 ·
14.0/migration/022增加预定义角色 pg_read_all_data 和 pg_write_all_data · 新功能
增加预定义角色
pg_read_all_data和pg_write_all_data(Stephen Frost)§这些非登录角色可用于授予对所有表、视图和序列的读或写权限。
原始发布条目 ·
14.0/changes/001增加预定义角色 pg_database_owner,其仅包含当前数据库的所有者 · 新功能
增加预定义角色
pg_database_owner,其仅包含当前数据库的所有者(Noah Misch)§这在模板数据库中特别有用。
原始发布条目 ·
14.0/changes/002在后端崩溃后删除临时文件 · 新功能
在后端崩溃后删除临时文件(Euler Taveira)§
以前,此类文件为调试目的而被保留。如有必要,可通过新的服务器参数remove_temp_files_after_crash禁用删除。
原始发布条目 ·
14.0/changes/003允许在客户端断开连接时取消长时间运行的查询 · 新功能
允许在客户端断开连接时取消长时间运行的查询(Sergey Cherkashin,Thomas Munro)§
服务器参数client_connection_check_interval允许控制是否在查询执行期间检查连接丢失。(这在 Linux 和少数其他操作系统上受支持。)
原始发布条目 ·
14.0/changes/004为 pg_terminate_backend() 增加可选的超时参数 · 新功能
为
pg_terminate_backend()增加可选的超时参数(Magnus Hagander)§原始发布条目 ·
14.0/changes/005允许 vacuum 在可移除的索引条目数量不显著时跳过索引清理 · 新功能
允许 vacuum 在可移除的索引条目数量不显著时跳过索引清理(Masahiko Sawada,Peter Geoghegan)§ §
vacuum 参数
INDEX_CLEANUP有一个新的默认值auto来启用此优化。原始发布条目 ·
14.0/changes/008降低vacuum_cost_page_miss的默认值以更好地反映当前硬件能力 · 新功能
降低vacuum_cost_page_miss的默认值以更好地反映当前硬件能力(Peter Geoghegan)§
原始发布条目 ·
14.0/changes/013使 COPY FREEZE 适当地更新页面可见性位 · 新功能
使
COPY FREEZE适当地更新页面可见性位(Anastasia Lubennikova,Pavan Deolasee,Jeff Janes)§原始发布条目 ·
14.0/changes/015允许对表达式创建扩展统计信息 · 新功能
允许对表达式创建扩展统计信息(Tomas Vondra)§
这允许对一组表达式和列创建统计信息,而不是像以前那样只能针对列。系统视图
pg_stats_ext_exprs报告此类统计信息。原始发布条目 ·
14.0/changes/029修复 EXPLAIN CREATE TABLE AS 和 EXPLAIN CREATE MATERIALIZED VIEW 以遵守 IF NOT EXISTS · BUG 修复
修复
EXPLAIN CREATE TABLE AS和EXPLAIN CREATE MATERIALIZED VIEW以遵守IF NOT EXISTS(Bharath Rupireddy)§以前,如果对象已存在,
EXPLAIN会失败。原始发布条目 ·
14.0/changes/031增加执行器方法以缓存嵌套循环连接内侧的结果 · 性能改进
增加执行器方法以缓存嵌套循环连接内侧的结果(David Rowley)§
如果仅检查内侧的一小部分行,这很有用。可通过服务器参数enable_memoize禁用。
原始发布条目 ·
14.0/changes/033允许引用多个外部表的查询并行执行外部表扫描 · 性能改进
允许引用多个外部表的查询并行执行外部表扫描(Robert Haas,Kyotaro Horiguchi,Thomas Munro,Etsuro Fujita)§
如果设置了
async_capable,postgres_fdw支持这种类型的扫描。原始发布条目 ·
14.0/changes/036大幅提高 Unicode 规范化性能 · 性能改进
大幅提高 Unicode 规范化性能(John Naylor)§ §
这加快了
normalize()和IS NORMALIZED的速度。原始发布条目 ·
14.0/changes/039增加对 TOAST 数据使用 LZ4 压缩的能力 · 性能改进
增加对 TOAST 数据使用 LZ4 压缩的能力(Dilip Kumar)§
这可以在列级别设置,或通过服务器参数default_toast_compression设为默认值。服务器必须使用
--with-lz4编译才能支持此功能。默认设置仍为 pglz。原始发布条目 ·
14.0/changes/040如果启用了服务器参数compute_query_id,在 pg_stat_activity、EXPLAIN VERBOSE、csvlog 中显示查询 ID,以及可选地在log_line_prefix中显示 · 新功能
如果启用了服务器参数compute_query_id,在
pg_stat_activity、EXPLAIN VERBOSE、csvlog 中显示查询 ID,以及可选地在log_line_prefix中显示(Julien Rouhaud)§ § § § §由扩展计算的查询 ID 也将被显示。
原始发布条目 ·
14.0/changes/041改进自动清理和自动分析的日志记录 · 新功能
改进自动清理和自动分析的日志记录(Stephen Frost,Jakub Wartak)§
如果启用了track_io_timing,则报告自动清理和自动分析的 I/O 时间。同时报告自动分析的缓冲区读取和脏化速率。
原始发布条目 ·
14.0/changes/042在log_connections的输出中增加客户端提供的原始用户名信息 · 新功能
在log_connections的输出中增加客户端提供的原始用户名信息(Jacob Champion)§
原始发布条目 ·
14.0/changes/043增加系统视图 pg_stat_progress_copy 以报告 COPY 进度 · 新功能
增加系统视图
pg_stat_progress_copy以报告COPY进度(Josef Šimánek,Matthias van de Meent)§ §原始发布条目 ·
14.0/changes/044增加系统视图 pg_stat_wal 以报告 WAL 活动 · 新功能
增加系统视图
pg_stat_wal以报告 WAL 活动(Masahiro Ikeda)§ § §原始发布条目 ·
14.0/changes/045增加系统视图 pg_stat_replication_slots 以报告复制槽活动 · 新功能
增加系统视图
pg_stat_replication_slots以报告复制槽活动(Masahiko Sawada,Amit Kapila,Vignesh C)§ § § §函数
pg_stat_reset_replication_slot()可重置槽统计信息。原始发布条目 ·
14.0/changes/046增加系统视图 pg_backend_memory_contexts 以报告会话内存使用情况 · 新功能
增加系统视图
pg_backend_memory_contexts以报告会话内存使用情况(Atsushi Torikoshi,Fujii Masao)§ §原始发布条目 ·
14.0/changes/047增加函数 pg_log_backend_memory_contexts() 以输出任意后端的内存上下文 · 新功能
增加函数
pg_log_backend_memory_contexts()以输出任意后端的内存上下文(Atsushi Torikoshi)§原始发布条目 ·
14.0/changes/048在 pg_stat_database 系统视图中增加会话统计信息 · 新功能
在
pg_stat_database系统视图中增加会话统计信息(Laurenz Albe)§原始发布条目 ·
14.0/changes/049在 pg_prepared_statements 中增加报告通用和自定义计划计数的列 · 新功能
在
pg_prepared_statements中增加报告通用和自定义计划计数的列(Atsushi Torikoshi,Kyotaro Horiguchi)§原始发布条目 ·
14.0/changes/050增加等待事件 WalReceiverExit 以报告 WAL 接收器退出等待时间 · 新功能
增加等待事件
WalReceiverExit以报告 WAL 接收器退出等待时间(Fujii Masao)§原始发布条目 ·
14.0/changes/053实现信息模式视图 routine_column_usage 以跟踪函数和过程默认表达式引用的列 · 新功能
实现信息模式视图
routine_column_usage以跟踪函数和过程默认表达式引用的列(Peter Eisentraut)§原始发布条目 ·
14.0/changes/054允许匹配 SSL 证书的专有名称(DN)用于客户端证书认证 · 新功能
允许匹配 SSL 证书的专有名称(DN)用于客户端证书认证(Andrew Dunstan)§
新的
pg_hba.conf选项clientname=DN允许与CN以外的证书属性进行比较,并可与 ident 映射组合使用。原始发布条目 ·
14.0/changes/055允许 pg_hba.conf 和 pg_ident.conf 记录跨越多行 · 新功能
允许
pg_hba.conf和pg_ident.conf记录跨越多行(Fabien Coelho)§行末的反斜杠允许记录内容续到下一行。
原始发布条目 ·
14.0/changes/056允许指定证书吊销列表(CRL)目录 · 新功能
允许指定证书吊销列表(CRL)目录(Kyotaro Horiguchi)§
这由服务器参数ssl_crl_dir和 libpq 连接选项sslcrldir控制。以前只能指定单个 CRL 文件。
原始发布条目 ·
14.0/changes/057增加服务器参数idle_session_timeout以关闭空闲会话 · 新功能
增加服务器参数idle_session_timeout以关闭空闲会话(Li Japin)§
原始发布条目 ·
14.0/changes/059将checkpoint_completion_target的默认值改为 0.9 · 新功能
将checkpoint_completion_target的默认值改为 0.9(Stephen Frost)§
之前的默认值为 0.5。
原始发布条目 ·
14.0/changes/060允许在log_line_prefix中使用 %P 来报告并行工作进程的并行组领导者 PID · 新功能
允许在log_line_prefix中使用
%P来报告并行工作进程的并行组领导者 PID(Justin Pryzby)§原始发布条目 ·
14.0/changes/061允许unix_socket_directories以单独的、逗号分隔的引号字符串指定路径 · 新功能
允许unix_socket_directories以单独的、逗号分隔的引号字符串指定路径(Ian Lawrence Barwick)§
以前所有路径必须在一个引号字符串中。
原始发布条目 ·
14.0/changes/062允许在启动时分配动态共享内存 · 新功能
允许在启动时分配动态共享内存(Thomas Munro)§
这由min_dynamic_shared_memory控制。这允许更多地使用大页面。
原始发布条目 ·
14.0/changes/063增加服务器参数huge_page_size以控制 Linux 上使用的大页面大小 · 新功能
增加服务器参数huge_page_size以控制 Linux 上使用的大页面大小(Odin Ugedal)§
原始发布条目 ·
14.0/changes/064允许在服务器重载时更改restore_command设置 · 新功能
允许在服务器重载时更改restore_command设置(Sergei Kornilov)§
你也可以将
restore_command设置为空字符串并重载,以强制恢复仅从pg_wal目录读取。原始发布条目 ·
14.0/changes/066增加服务器参数log_recovery_conflict_waits以报告长时间的恢复冲突等待 · 新功能
增加服务器参数log_recovery_conflict_waits以报告长时间的恢复冲突等待(Bertrand Drouvot,Masahiko Sawada)§ §
原始发布条目 ·
14.0/changes/067增加函数 pg_get_wal_replay_pause_state() 以报告恢复状态 · 新功能
增加函数
pg_get_wal_replay_pause_state()以报告恢复状态(Dilip Kumar)§它比
pg_is_wal_replay_paused()提供更详细的信息,后者仍然存在。原始发布条目 ·
14.0/changes/069增加新的只读服务器参数in_hot_standby · 新功能
增加新的只读服务器参数in_hot_standby(Haribabu Kommi,Greg Nancarrow,Tom Lane)§
这允许客户端轻松检测是否连接到热备库。
原始发布条目 ·
14.0/changes/070允许在 Linux 上崩溃恢复开始时进行文件系统同步 · 新功能
允许在 Linux 上崩溃恢复开始时进行文件系统同步(Thomas Munro)§
默认情况下,PostgreSQL 在崩溃恢复开始时打开并 fsync 数据库集簇中的每个数据文件。新设置recovery_init_sync_method
=syncfs改为同步集簇使用的每个文件系统。这允许在具有许多数据库文件的系统上更快地恢复。原始发布条目 ·
14.0/changes/072增加函数 pg_xact_commit_timestamp_origin() 以返回指定事务的提交时间戳和复制来源 · 新功能
增加函数
pg_xact_commit_timestamp_origin()以返回指定事务的提交时间戳和复制来源(Movead Li)§原始发布条目 ·
14.0/changes/073在 pg_last_committed_xact() 返回的记录中增加复制来源 · 新功能
在
pg_last_committed_xact()返回的记录中增加复制来源(Movead Li)§原始发布条目 ·
14.0/changes/074允许 REFRESH MATERIALIZED VIEW 使用并行执行 · 新功能
允许
REFRESH MATERIALIZED VIEW使用并行执行(Bharath Rupireddy)§原始发布条目 ·
14.0/changes/092为 CREATE TRIGGER 增加 OR REPLACE 选项 · 新功能
为
CREATE TRIGGER增加OR REPLACE选项(Takamichi Osumi)§这允许有条件地替换已存在的触发器。
原始发布条目 ·
14.0/changes/099允许 TRUNCATE 操作外部表 · 新功能
允许
TRUNCATE操作外部表(Kazutaka Onishi,Kohei KaiGai)§postgres_fdw 模块现在也支持此功能。
原始发布条目 ·
14.0/changes/100允许更方便地向订阅中添加和从中移除发布 · 新功能
允许更方便地向订阅中添加和从中移除发布(Japin Li)§
新语法为
ALTER SUBSCRIPTION ... ADD/DROP PUBLICATION。这避免了需要指定所有发布来添加/移除条目。原始发布条目 ·
14.0/changes/101为系统目录增加主键、唯一约束和外键 · 新功能
为系统目录增加主键、唯一约束和外键(Peter Eisentraut)§ §
这些更改帮助 GUI 工具分析系统目录。目录现有的唯一索引现在具有关联的
UNIQUE或PRIMARY KEY约束。外键关系实际上并未作为约束存储或实现,但可通过函数 pg_get_catalog_foreign_keys() 获取以供显示。原始发布条目 ·
14.0/changes/102在接受 CURRENT_USER 的每个地方都允许 CURRENT_ROLE · 新功能
在接受
CURRENT_USER的每个地方都允许CURRENT_ROLE(Peter Eisentraut)§原始发布条目 ·
14.0/changes/103允许 tsearch 数据文件具有无限行长度 · 新功能
允许 tsearch 数据文件具有无限行长度(Tom Lane)§
之前的限制为 4K 字节。同时移除函数
t_readline()。原始发布条目 ·
14.0/changes/108增加对 numeric 数据类型中 Infinity 和 -Infinity 值的支持 · 新功能
增加对 numeric 数据类型中
Infinity和-Infinity值的支持(Tom Lane)§浮点数据类型已经支持这些值。
原始发布条目 ·
14.0/changes/109允许某些数组函数在兼容数据类型的组合上操作 · 新功能
允许某些数组函数在兼容数据类型的组合上操作(Tom Lane)§
函数
array_append()、array_prepend()、array_cat()、array_position()、array_positions()、array_remove()、array_replace()和width_bucket()现在接受anycompatiblearray而不是anyarray参数。这使它们对参数类型的精确匹配要求更低。原始发布条目 ·
14.0/changes/116增加 SQL 标准的 trim_array() 函数 · 新功能
增加 SQL 标准的
trim_array()函数(Vik Fearing)§使用数组切片也可以实现此功能,但不那么方便。
原始发布条目 ·
14.0/changes/117在 split_part() 中支持负索引 · 新功能
在
split_part()中支持负索引(Nikhil Benesch)§负值从最后一个字段开始向前计数。
原始发布条目 ·
14.0/changes/119增加 string_to_table() 函数以按分隔符拆分字符串 · 新功能
增加
string_to_table()函数以按分隔符拆分字符串(Pavel Stehule)§这类似于
regexp_split_to_table()函数。原始发布条目 ·
14.0/changes/120增加函数 bit_count() 以返回位或字节字符串中设置的位数 · 新功能
增加函数
bit_count()以返回位或字节字符串中设置的位数(David Fetter)§原始发布条目 ·
14.0/changes/123增加 date_bin() 函数 · 新功能
增加
date_bin()函数(John Naylor)§ §此函数将输入时间戳进行“分箱”,将它们分组到与指定原点对齐的均匀长度的区间中。
原始发布条目 ·
14.0/changes/124允许 make_timestamp()/make_timestamptz() 接受负年份 · 新功能
允许
make_timestamp()/make_timestamptz()接受负年份(Peter Eisentraut)§负值被解释为
BC年。原始发布条目 ·
14.0/changes/125增加更新的正则表达式 substring() 语法 · 新功能
增加更新的正则表达式
substring()语法(Peter Eisentraut)§新的 SQL 标准语法为
SUBSTRING(text SIMILAR pattern ESCAPE escapechar)。之前的标准语法SUBSTRING(text FROM pattern FOR escapechar)仍被 PostgreSQL 接受。原始发布条目 ·
14.0/changes/126增加 [[:word:]] 作为正则表达式字符类,等同于 \w · 新功能
增加
[[:word:]]作为正则表达式字符类,等同于\w(Tom Lane)§原始发布条目 ·
14.0/changes/128改变 pg_describe_object()、pg_identify_object() 和 pg_identify_object_as_address(),使其始终为不存在的对象报告有用的错误消息 · 新功能
改变
pg_describe_object()、pg_identify_object()和pg_identify_object_as_address(),使其始终为不存在的对象报告有用的错误消息(Michael Paquier)§原始发布条目 ·
14.0/changes/135允许 plpgsql 的 RETURN QUERY 使用并行执行其查询 · 新功能
允许 plpgsql 的
RETURN QUERY使用并行执行其查询(Tom Lane)§原始发布条目 ·
14.0/changes/137增强 libpq 的 target_session_attrs 参数选项 · 新功能
增强 libpq 的
target_session_attrs参数选项(Haribabu Kommi,Greg Nancarrow,Vignesh C,Tom Lane)§ §新选项为
read-only、primary、standby和prefer-standby。原始发布条目 ·
14.0/changes/140允许将 ECPG SQL 标识符链接到特定连接 · 新功能
允许将 ECPG SQL 标识符链接到特定连接(Hayato Kuroda)§
这通过
DECLARE ... STATEMENT完成。原始发布条目 ·
14.0/changes/142允许多次指定详细选项(-v)以增加日志详细程度 · 新功能
允许多次指定详细选项(
-v)以增加日志详细程度(Tom Lane)§pg_dump、pg_dumpall和pg_restore支持此行为。
原始发布条目 ·
14.0/changes/147增加命令行工具pg_amcheck以简化在多个关系上运行 contrib/amcheck 测试 · 新功能
增加命令行工具pg_amcheck以简化在多个关系上运行
contrib/amcheck测试(Mark Dilger)§原始发布条目 ·
14.0/changes/155停止pg_upgrade创建 analyze_new_cluster 脚本 · 新功能
停止pg_upgrade创建
analyze_new_cluster脚本(Magnus Hagander)§取而代之的是给出类似的vacuumdb说明。
原始发布条目 ·
14.0/changes/157移除对 postmaster -o 选项的支持 · 新功能
移除对 postmaster
-o选项的支持(Magnus Hagander)§此选项是不必要的,因为所有传递的选项都已经可以直接指定。
原始发布条目 ·
14.0/changes/158增加 factorial() 函数的文档 · 新功能
增加
factorial()函数的文档(Peter Eisentraut)§随着此版本移除了 ! 操作符,
factorial()是计算阶乘的唯一内置方式。原始发布条目 ·
14.0/changes/160增加 configure 选项 --with-ssl={openssl} 以允许将来选择要使用的 SSL 库 · 新功能
增加 configure 选项
--with-ssl={openssl}以允许将来选择要使用的 SSL 库(Daniel Gustafsson,Michael Paquier)§保留
--with-openssl拼写以兼容。原始发布条目 ·
14.0/changes/161增加对抽象 Unix 域套接字的支持 · 新功能
增加对抽象 Unix 域套接字的支持(Peter Eisentraut)§
目前在 Linux 和 Windows 上受支持。
原始发布条目 ·
14.0/changes/162增加服务器参数debug_discard_caches以控制用于测试目的的缓存刷新 · 新功能
增加服务器参数debug_discard_caches以控制用于测试目的的缓存刷新(Craig Ringer)§ § §
以前此行为只能在编译时设置。要在 initdb 期间调用它,使用新选项
--discard-caches。原始发布条目 ·
14.0/changes/164在索引访问方法 API 中增加 amadjustmembers · 新功能
在索引访问方法 API 中增加
amadjustmembers(Tom Lane)§这允许索引访问方法在创建新操作符类或族时提供有效性检查。
原始发布条目 ·
14.0/changes/172允许 pgstattuple_approx() 报告 TOAST 表 · 新功能
允许
pgstattuple_approx()报告 TOAST 表(Peter Eisentraut)§原始发布条目 ·
14.0/changes/177增加 contrib 模块pg_surgery以允许更改行可见性 · 新功能
增加 contrib 模块pg_surgery以允许更改行可见性(Ashutosh Sharma)§
这对于修复数据库损坏很有用。
原始发布条目 ·
14.0/changes/178增加 contrib 模块old_snapshot,用于报告活动的old_snapshot_threshold所使用的 XID/时间映射 · 新功能
增加 contrib 模块old_snapshot,用于报告活动的old_snapshot_threshold所使用的
XID/时间映射(Robert Haas)§原始发布条目 ·
14.0/changes/179允许pageinspect检查 GiST 索引 · 新功能
允许pageinspect检查 GiST 索引(Andrey Borodin,Heikki Linnakangas)§ §
原始发布条目 ·
14.0/changes/181将查询 hash 计算从 pg_stat_statements 移至核心服务器 · 新功能
将查询 hash 计算从 pg_stat_statements 移至核心服务器(Julien Rouhaud)§
新服务器参数compute_query_id的默认值
auto将在加载此扩展时自动启用查询 ID 计算。原始发布条目 ·
14.0/changes/184允许 postgres_fdw 在 IMPORT FOREIGN SCHEMA ... LIMIT TO 指定时导入表分区 · 新功能
允许 postgres_fdw 在
IMPORT FOREIGN SCHEMA ... LIMIT TO指定时导入表分区(Matthias van de Meent)§默认情况下,仅导入分区表的根表。
原始发布条目 ·
14.0/changes/189
安全证据
共 67 条记录,来自官方安全矩阵及发布说明的提及。只有安全快照明确列出此分支时才显示修复版本;仅有提及不能确定漏洞适用性或新修复。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.23。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.21。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.21。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.21。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.21。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:contrib module。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.24。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.19。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.19。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.19。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.18。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.20。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.20。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.16。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.13。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.12。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.14。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.14。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.14。组件:client。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.14。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.11。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.10。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.10。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.10。组件:core server。
官方受影响分支记录:14。
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/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.
以上保留官方英文漏洞说明。
本分支修复于:14.9。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.8。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.8。组件:core server。
官方受影响分支记录:14。
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.
以上保留官方英文漏洞说明。
本分支修复于:14.7。组件:client。
官方受影响分支记录:14。
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2022-2625 · Extension scripts replace objects not belonging to the extension · CVSS 7.1
Some extensions use CREATE OR REPLACE or CREATE IF NOT EXISTS commands. Some don't adhere to the documented rule to target only objects known to be extension members already. An attack requires permission to create non-temporary objects in at least one schema, ability to lure or wait for an administrator to create or update an affected extension in that schema, and ability to lure or wait for a victim to use the object targeted in CREATE OR REPLACE or CREATE IF NOT EXISTS . Given all three prerequisites, the attacker can run arbitrary code as the victim role, which may be a superuser. Known-affected extensions include both PostgreSQL-bundled and non-bundled extensions. PostgreSQL is blocking this attack in the core server, so there's no need to modify individual extensions. The PostgreSQL project thanks Sven Klemm for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:14.5。组件:core server。
官方受影响分支记录:14。
AV:N/AC:H/PR:L/UI:R/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2022-1552 · Autovacuum, REINDEX, and others omit "security restricted operation" sandbox · CVSS 8.8
Autovacuum, REINDEX , CREATE INDEX , REFRESH MATERIALIZED VIEW , CLUSTER , and pg_amcheck made incomplete efforts to operate safely when a privileged user is maintaining another user's objects. Those commands activated relevant protections too late or not at all. An attacker having permission to create non-temp objects in at least one schema could execute arbitrary SQL functions under a superuser identity. While promptly updating PostgreSQL is the best remediation for most users, a user unable to do that can work around the vulnerability by disabling autovacuum, not manually running the above commands, and not restoring from output of the pg_dump command. Performance may degrade quickly under this workaround. VACUUM is safe, and all commands are fine when a trusted user owns the target object. The PostgreSQL project thanks Alexander Lakhin for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:14.3。组件:core server。
官方受影响分支记录:14。
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及:
CVE-2021-23222 · libpq processes unencrypted bytes from man-in-the-middle · CVSS 3.7
A man-in-the-middle attacker can inject false responses to the client's first few queries, despite the use of SSL certificate verification and encryption. If more preconditions hold, the attacker can exfiltrate the client's password or other confidential data that might be transmitted early in a session. The attacker must have a way to trick the client's intended server into making the confidential data accessible to the attacker. A known implementation having that property is a PostgreSQL configuration vulnerable to CVE-2021-23214 . As with any exploitation of CVE-2021-23214 , the server must be using trust authentication with a clientcert requirement or using cert authentication. To disclose a password, the client must be in possession of a password, which is atypical when using an authentication configuration vulnerable to CVE-2021-23214 . The attacker must have some other way to access the server to retrieve the exfiltrated data (a valid, unprivileged login account would be sufficient). The PostgreSQL project thanks Jacob Champion for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:14.1。组件:client。
官方受影响分支记录:14。
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
发布说明中的提及:
CVE-2021-23214 · Server processes unencrypted bytes from man-in-the-middle · CVSS 8.1
When the server is configured to use trust authentication with a clientcert requirement or to use cert authentication, a man-in-the-middle attacker can inject arbitrary SQL queries when a connection is first established, despite the use of SSL certificate verification and encryption. This is similar to CVE-2011-0411 (different product). The PostgreSQL project thanks Jacob Champion for reporting this problem.
以上保留官方英文漏洞说明。
本分支修复于:14.1。组件:core server。
官方受影响分支记录:14。
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
发布说明中的提及: