pgAdmin 4 v9.16 发布

发布于 2026-06-19,pgAdmin Development Team
相关开源软件

原文:https://www.postgresql.org/about/news/pgadmin-4-v916-released-3324/ 发布日期:2026-06-19 作者:pgAdmin Development Team

pgAdmin 开发团队很高兴宣布发布 pgAdmin 4 的 9.16 版本。本次发布包含 64 项缺陷修复和新特性,其中还修复了 7 个安全漏洞(CVE-2026-12044 至 CVE-2026-12050)。详细内容请参阅发布说明

pgAdmin 是 PostgreSQL 领先的开源图形化管理工具。更多信息请访问其官方网站

主要新特性

  • 面板和标签页页眉会根据已连接服务器的颜色进行着色,更容易一眼分辨当前标签页属于哪台服务器。
  • 在“忘记密码”和“重置密码”页面新增“返回登录”链接。
  • 在物化视图对话框中新增对 TOAST tuple target 存储参数的支持。
  • Helm Chart 的 init container 安全上下文现在可通过 containerSecurityContext 配置。
  • 现在可以通过鼠标中键点击标签标题直接关闭标签页。
  • OAuth2 登录按钮图标现在支持任意 Font Awesome 风格,而不仅限于 brand 图标。

安全修复

  • 修复 16 个对话框模板中的 SQL 注入问题,这些模板此前会直接拼接 COMMENT ON ... IS '<description>';现已改用 qtLiteral,并把相关统计调用改为通过 ::oid::regclass 传递关系 OID(CVE-2026-12044)。
  • 修复 AI Assistant 在只读事务中的绕过问题;此前攻击者可借由提示词注入提交多语句负载,逃逸 READ ONLY 包装,并在超级用户连接上借助 COPY ... TO PROGRAM 进一步联动至远程代码执行(CVE-2026-12045)。
  • 修复 SQL Editor 两个遗漏 @pga_login_required 装饰器的端点,避免它们在 server mode 下被未认证访问并暴露 pickle 反序列化入口(CVE-2026-12046)。
  • 修复云部署模块(RDS、Azure、Google)中的 HTML 注入问题;此前 SDK 异常文本会未经清洗直接传给浏览器并经 html-react-parser 渲染(CVE-2026-12047)。
  • 修复严重的存储型跨站脚本问题;此前 PostgreSQL 服务器报错文本与 Explain 计划节点内容会经 html-react-parser 进入通知、表单错误、模态框提示和 Explain 可视化器,恶意脚本可借此窃取保存的服务器凭据并向所有已连接服务器发起 SQL(CVE-2026-12048)。
  • 修复多因素认证流程中由未校验 next 参数引发的开放重定向问题(CVE-2026-12049)。
  • 修复命名恢复点端点中的 SQL 注入;此前用户提供的恢复点名称通过 str.format() 直接插入 SQL,而不是作为绑定参数传递(CVE-2026-12050)。

修复与维护

  • 移除服务器访问辅助函数中的管理员角色绕过逻辑,使 9.15 中为 CVE-2026-7813 引入的访问控制检查能够一致生效。
  • 移除已在 9.15 弃用的 EDB BigAnimal 云部署支持。
  • 修复 JSON 编辑器对 jsonb 数值表示的改写问题,保存未修改行时不再丢失小数末尾的 0 或重写大整数表现形式。
  • 修复一个 View/Edit Data 崩溃问题:当会话中存在不支持过滤的事务对象时,桌面应用升级后可能无法正常加载。
  • 重新整理按版本区分的 SQL 模板,默认目标调整为 PostgreSQL 14(当前仍受支持的最旧版本),并移除已过时的 14 以下模板分支。
  • 从 macOS 安装包中移除异构架构切片,避免单架构构建继续捆绑未使用代码。
  • 升级 Electron 到 42.3.3、cryptography 到 49.0,并同步更新其他 Python 与 JavaScript 依赖。
  • 更新意大利语翻译。

弃用提示

  • pgAgent 已被弃用并将停止维护。它将在一个月内从网站移除,pgAdmin 内部支持也将在大约六个月后删除。官方建议用户尽快迁移到其他作业调度方案。

Windows 与 macOS 安装包已经可用,同时也提供 Python Wheel、Docker 容器、RPM、DEB 软件包以及源码 tarball,可从下载页面获取。