PgBouncer 1.26.1 修复身份冒用与拒绝服务
PgBouncer 1.26.1 修复三项安全漏洞。最严重的问题发生在连接不存在的数据库并进行 SCRAM 认证时,已知一个用户密码的客户端可冒用其他用户,包括管理员与后端超级用户。另外两项缺陷可让未认证客户端触发死循环,分别涉及特定启动参数配置,以及调高最大报文大小后的整数溢出。使用方应升级并核对配置;新版本还让忽略参数规则优先于参数跟踪,恢复显式忽略 search_path 的行为。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 34 条。
PgBouncer 1.26.1 修复三项安全漏洞。最严重的问题发生在连接不存在的数据库并进行 SCRAM 认证时,已知一个用户密码的客户端可冒用其他用户,包括管理员与后端超级用户。另外两项缺陷可让未认证客户端触发死循环,分别涉及特定启动参数配置,以及调高最大报文大小后的整数溢出。使用方应升级并核对配置;新版本还让忽略参数规则优先于参数跟踪,恢复显式忽略 search_path 的行为。
psqlODBC 18.00.0005 修复参数绑定数量溢出,影响 08.01.0102 至 18.00.0004。旧驱动用有符号 16 位字段计数,绑定第 32769 个参数时可能越界清零,造成崩溃或堆内存损坏。新版本将参数编号限制为 1~32767,越界返回 07009。根据外部输入拼接大型 IN 列表的应用应限制参数数,或改用数组参数。本次还修复千参数语句的类型名截断,以及 bytea 经 OLE DB 调用的兼容问题。
同一查询第二次突然变快,未必是缓存预热。Alexander Ioffe 在 150 万行表上反复运行带 LIMIT 的顺序扫描,首次约 78 毫秒,随后约 0.07 毫秒,但两次访问的页面都已在共享缓存中。实测差异来自同步顺序扫描复用上一次扫描位置,恰好从目标数据附近开始;关闭该机制后,每次都约 81 毫秒。作者用多轮执行的耗时、读页和过滤行数定位原因,提醒性能评估保留逐次样本,并用对照实验验证异常。
incident.io 复盘了 PostgreSQL 队列增加工作进程后反而变慢的问题。批量锁行后,每个任务再建立保存点,会让父子事务共同持锁并产生 MultiXact;其他工作进程执行 SKIP LOCKED 时反复查询这些记录,放大内部锁竞争。团队把领取与执行拆成短事务和限时租约,缩小队列表,并让每个 Pod 只保留一个领取器。团队称整套优化后峰值吞吐达到原来的 3.5 倍,代价是进程崩溃后,已领取任务最多等待十秒再重试。
Cloudflare 复盘 D1 管理数百万个 SQLite 数据库的控制面设计:PostgreSQL 保存事务性元数据,Workers KV 提供分布式路由信息,让查询通常无需访问中心集群。数据库创建先初始化 Durable Object,再记录映射,失败后的孤立对象由周期心跳自行纠正。用量统计则先排队、记录差量,再按账户批量聚合,避免每次变化都争抢同一行锁。文章交代最终一致性的边界,为大量小数据库的租户隔离与配额管理提供实践参考。
curl 8.23.0 发布当天,项目集中披露 24 项漏洞。其中 HTTP/2 上传释放后使用影响 8.12.0 至 8.22.0;恶意服务端可用特定流重置响应触发问题,代码执行还依赖严格的版本、堆布局和时序条件。更新同时修复代理诱取源站凭据、跨协议重定向漏做 SSH 主机校验等问题,并移除 curl 与 libcurl 的 SMB(S) 支持。升级时应同时检查内嵌 libcurl 的应用和依赖 SMB 传输的脚本。
发布团队计划保留 10 月 15 日 RC1,增加 11 月 12 日 RC2,让维护分支积累的修复先经过候选版验证。
父表唯一索引不能证明子表也唯一;新提交跳过继承扫描,避免误合并含子表与 ONLY 查询,注明回补至 18。
新提交清理回滚子事务留下的目录可见性记录,解决已复现的断言失败,注明回补至 14。
时间戳跨类型比较可能选错索引扫描起点;新提交向前校正转换值,并处理上界溢出,注明回补至 19。
beta.2 可原位增删分区、调整主键与唯一约束,并保留安全标签和视图触发器,减少重复部署产生的伪差异。
pg_prewarm 应覆盖表、索引与 TOAST,并核对存储初始化进度;VACUUM 与 ANALYZE 不能替代完整预热。
已合入主分支、尚未发布;fdatasync 配合预写零字节减少部分文件系统的同步开销,但会增加写放大。
冲突检查从操作逐步细化到分区与文件;能证明互不影响才重放提交,串行化隔离仍保留失败重试。
TAF 针对 MDEV-37992 在三个分支重现并验证缓冲池回归修复,公开补丁提交、固定负载与硬件参数。
CVE-2026-85298 可让已认证用户提升权限;服务端已于 8 月 27 日修补,公告称客户无需操作。
锁文件将 action、传递依赖和可复用工作流固定到审核过的提交;标签移动后仍执行已锁定版本,并支持强制策略。
0.163.0 修复满队列取消后的死锁,拆分批次时只丢弃超大的单条 span 或 profile,保留后续数据。