选择 打开 改范围 完整检索页

pgAdmin 4 v9.17 发布

发布于 2026-08-04,pgAdmin Development Team
相关开源软件

原文:https://www.postgresql.org/about/news/pgadmin-4-v917-released-3356/ 发布日期:2026-08-04 作者:pgAdmin Development Team

pgAdmin 开发团队宣布发布 pgAdmin 4 v9.17。此版本包含 28 项 bug 修复和新功能,其中包括 7 个安全漏洞修复(CVE-2026-17346 到 CVE-2026-17351,以及 CVE-2026-17566)。更多细节请参阅 发布说明

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

功能

  • 在 HTTP 访问日志中包含已认证用户的身份。
  • 为 Helm Chart 增加可选的 Gateway API HTTPRoute 模板,作为现有 Ingress 的替代方案。
  • 为普通 “View Data” 操作增加可限制获取行数的偏好设置,使其在大表上可用,而不必总是执行完整的 SELECT *
  • 在 Geometry Viewer 中支持自定义 XYZ tile provider(URL、名称、CRS、署名、最大缩放级别),并与现有内置底图并存。

安全修复

  • 修复工具权限绕过:被拒绝使用 Query Tool、Grant Wizard 或 Schema Diff 的用户,仍可直接调用这些工具的后端路由和 Socket.IO handler;同时修复非所有者可触发另一个用户共享服务器上的临时连接,并持久化一个仍归该用户所有的新服务器记录的问题(CVE-2026-17350)。
  • 修复 MASTER_PASSWORD_HOOK 中的 OS 命令注入:当外部来源的用户名(例如 OAuth2/OIDC、Kerberos 或 Webserver 认证)包含 shell 元字符,且配置的 hook 字符串使用 %u 时,可能以 pgAdmin 服务账号执行任意命令(CVE-2026-17347)。
  • 修复 AI Assistant 只读事务保护的 lexer 差异绕过:sqlparse 对字符串字面量的词法分析在 standard_conforming_strings = on 时与 PostgreSQL 解析器不一致,可能让构造的多语句 payload 绕过只读包装并夹带 COMMIT;这是 CVE-2026-12045 的不完整修复(CVE-2026-17351)。
  • 修复 Index Statistics 全索引列表以及 Publications/Subscriptions Dependencies 视图中的 SQL 注入:表、索引、publication 或 subscription 名称中的单引号可能跳出未转义的模板插值;这是 CVE-2026-12044 的不完整修复(CVE-2026-17346)。
  • 修复 Constraints、Preferences、Debugger 和 Schema Diff 多个路由缺少 @pga_login_required 装饰器的问题,导致它们在 server mode 下无需认证即可访问;这是 CVE-2026-12046 的不完整修复(CVE-2026-17348)。
  • 修复临时服务器连接会连同所有权一起克隆其他用户保存的数据库凭据(密码、保存密码标志、隧道密码),导致非所有者可使用该用户保存的数据库密码连接(CVE-2026-17349)。
  • 修复 Import/Export Data 工具中的 OS 命令注入:基于查询的导出可利用 psql 默认 standard_conforming_strings = on 下的反斜杠转义差异,绕过 \copy (...) 括号平衡检查,暴露可执行任意命令的 TO PROGRAM 子句(CVE-2026-17566)。

Bug 修复与维护

  • 修复 Schema Diff 的 “Generate Script” 和浏览器树的 CREATE Script 视图对 SERIAL/identity 列生成错误 SQL 的问题;现在通过 pg_depend 检测列拥有的序列,而不是猜测序列名。
  • 修复 Query Tool 标签页中,当多个语句由空行分隔且光标位于未高亮语句上或附近时,ALT+F5(执行光标处查询)无效的问题。
  • 修复 PostgreSQL 19 扩展目录变化导致对象浏览器中 extension UI 损坏的问题。
  • 检测已选择但不可用的 OS keyring,并优雅回退而不是直接失败。
  • 当 OAuth2 provider 设置被错误放在配置顶层,而不是 OAUTH2_CONFIG 下时发出警告。
  • 复制查询文本到剪贴板时遵循选定的 EOL 序列。
  • 修复 Schema Diff 结果状态过滤 chip 在关闭后重新开启时,即使存在真实差异也显示 “No difference found” 的问题。
  • 修复断开服务器或数据库连接时,Object Explorer 短暂显示原始 HTML 标记而不是灰色 “[Disconnecting...]” 标签的问题。
  • 集中共享服务器组可见性和访问控制逻辑,并调整 ServerGroup 与 Server/SharedServer 模型关系。
  • 如果 macOS appbundle 中任何捆绑库链接到 bundle 外部,构建将失败,并会扫描所有 Mach-O 二进制的 bundle 链接。
  • 将 sonarqube-scan-action GitHub workflow 固定到完整 commit SHA,并将构建脚本使用的 Yarn 版本固定到 packageManager 字段。
  • 更新 JavaScript 和 Python 第三方依赖,包括 axios、webpack、react、electron 和 certifi。
  • 更新简体中文(zh_Hans_CN)翻译。

Windows 与 macOS 构建、Python Wheel、Docker Container、RPM、DEB Package 和源码 tarball 现已可从 下载区域 获取。