pgcrypto 与 pg_trgm 的三个溢出由 AI 找出
Christophe Pettus 记下 pgcrypto 与 pg_trgm 里的三个堆溢出。最严重的 CVE-2026-2005 在 pgcrypto 的 PGP 处理中,可致任意代码执行,另两个涉及畸形 UTF-8 解密和三元组扩展。受影响的是 15.18、16.14、17.10 和 18.4 之前的版本。其中两个由自动化工具静态分析找到,办法是跟踪污点数据找出缺失的长度检查。作者说漏洞长期没被发现不是隐蔽,而是没人看。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 20 条。
Christophe Pettus 记下 pgcrypto 与 pg_trgm 里的三个堆溢出。最严重的 CVE-2026-2005 在 pgcrypto 的 PGP 处理中,可致任意代码执行,另两个涉及畸形 UTF-8 解密和三元组扩展。受影响的是 15.18、16.14、17.10 和 18.4 之前的版本。其中两个由自动化工具静态分析找到,办法是跟踪污点数据找出缺失的长度检查。作者说漏洞长期没被发现不是隐蔽,而是没人看。
Percona Operator for PostgreSQL 3.0.0 完成了对 Crunchy Data 算子的硬分叉。自定义资源定义改到专用 API 组,两套算子可以共存于同一个 Kubernetes 集群。这一版修好了 OpenShift 生命周期管理器的命名空间作用域问题,此前算子会盯错命名空间;大版本升级改用官方发行镜像,与生产运行时保持一致。支持 14.23 到 18.4,2.7.0 用户必须先升到 2.8.x 再迁。
Stormatics 介绍 pg_index_search 的流程:先从 pg_stat_statements 取出调用超过 50 次、执行超过 5 毫秒的语句,用解析器从 WHERE、JOIN 和 ORDER BY 中抽出可索引列,再生成单列与多列候选。候选交给 HypoPG 建虚拟索引,在不落盘也不加锁的前提下让规划器评估,用贪心搜索按加权代价挑组合。模型可以补充表达式索引,但所有建议都要过 HypoPG 验证并人工确认。
Vibhor Kumar 总结了在事务中直接调用外部 AI 接口的失效模式:持锁期间等待 I/O 会让请求排队,触发限流后各 worker 同步重试形成风暴,事务回滚也收不回已花掉的 token 和已发出的 webhook,长调用还会占满连接池。他提出 ORBIT 五条原则:先写出箱表再异步执行、限流状态放共享内存、以后台进程为调度单位、从第一天就保证幂等、所有调用留下可审计轨迹。
Daniel Gustafsson 和 Tomas Vondra 在收尾 PostgreSQL 19 的在线开关数据校验和。已确认的缺陷是状态更新时没有发出 procsignalbarrier,而这是维持集群一致所必需的;Daniel 写好了测试,打算在 beta1 之前上三个补丁修掉备库提升时的问题。分歧在 DELAY_CHKPT_START:Daniel 主张先留着、到 20 再删,Vondra 倾向于趁 19 还有几个月就地改掉。
PostgreSQL 19 有一个开放项:wal_level 为 replica 时不重启就启用逻辑解码。Masahiko Sawada 提议把它标为非缺陷并关闭,理由是拥有 REPLICATION 权限的用户本来就能通过物理流复制读到全部数据并影响清理时点,让这类用户创建逻辑槽不带来新的安全风险。与其限制建槽,不如把力气放到监控上,比如按会话或按用户跟踪 WAL 产生量。Amit Kapila 表示赞同。
Amit Kapila 担心长时间运行时 catalog_xmin 不推进,作者认为这与 CLUSTER 一样,应单独解决。
TABLES IN SCHEMA 发布可以排除指定表,这一版统一了命名并修好了分区祖先的内存清理。
旧版补丁对含换行的文本转义不当会报语法错误,新方案先把转义逻辑抽成可复用函数。
改为每次重试单独建内存上下文,提交者认为再加临时上下文反而会让逻辑变脆。
Modbus/TCP、OPC UA 和 MQTT 各由一个 agent 对接,共享数据契约,另有审查与校验 agent 把关。
逻辑复制已广泛用于跨版本升级、多地域部署和实时分析,功能上仍有不少空档。
Christophe Pettus 的 GUC 系列新篇,讲这两个参数怎么用组提交换吞吐。
remote_tuple 等 JSON 列超过 8KB 会让应用进程报 row is too big,且 disable_on_error 失效。