pgAdmin 4 v9.19 发布
发布于 2026-10-31,pgAdmin Development Team
相关开源软件
pgAdmin 开发团队宣布发布 pgAdmin 4 v9.19。本版本包含 136 项缺陷修复和新功能,并修复了 15 个安全漏洞(CVE-2026-116238 至 CVE-2026-116252)。详情请参阅发行说明。
pgAdmin 是 PostgreSQL 的开源图形化管理工具。更多信息请参阅项目网站。
主要变化
新功能
- 增加 Statistics 节点,用于创建和管理扩展统计信息。
- 支持通过简单的可自动更新视图编辑数据。
- Query Tool 结果可保存为 JSON、XML 或 CSV,并支持选择编码、可选字节顺序标记以及“复制时包含表头”选项。
- 增加对 pg_timetable 链和任务的管理支持。
- 在服务器模式下,用管理员定义的
SERVER_PASSEXEC_COMMANDS 允许列表替代自由文本 Password Exec Commands;命令不经过 shell,并以精简环境运行。升级后首次启动前必须配置该参数。
- 在“部署云实例”向导中增加 pgEdge Starfleet。
- 当 OAuth2 是唯一身份验证来源时,允许跳过登录页。
安全修复
- 修复 Import/Export Data 工具中的操作系统命令注入:基于查询的导出可通过双引号标识符中的反斜杠绕过
\copy 括号保护,夹带有效的 TO PROGRAM 子句并在 pgAdmin 主机执行任意命令;这是对 CVE-2026-17566 的不完整修复(CVE-2026-116241)。
- 修复 LDAP 和 Kerberos 认证因用户名相同而将用户登录到其他账户(包括初始管理员)的问题(CVE-2026-116239)。
- 修复通过 Flask-Security 自带视图、用户名大小写和第二身份源处理绕过失败登录限制及 pgAdmin 登录、改密、重置密码检查的问题(CVE-2026-116238)。
- 修复连接文件路径与参数键逃逸用户存储目录的问题,避免用户使用其他用户的凭据或密钥连接(CVE-2026-116249)。
- 在服务器模式下阻止 libpq 回退使用 pgAdmin 服务账户自己的密码文件和客户端证书(CVE-2026-116247)。
- 在服务器模式下将连接服务限制为管理员定义的
SERVER_MODE_ALLOWED_SERVICES 允许列表(CVE-2026-116245)。
- 在服务器模式下阻止 libpq 使用 pgAdmin 服务账户的 Kerberos 凭据(CVE-2026-116244)。
- 阻止 SSH 隧道使用 pgAdmin 服务账户自己的 SSH 身份(CVE-2026-116242)。
- 修复实用工具二进制路径检查允许使用
SHARED_STORAGE 下文件的问题,避免用户让 pgAdmin 执行自己放入该目录的文件(CVE-2026-116243)。
- 防止服务器密码留在 pgAdmin 进程环境中,避免被其他用户会话或工具继承(CVE-2026-116246)。
- 修复服务器模式下任何能够注册服务器的用户都能将服务器共享给其他所有用户的问题(CVE-2026-116248)。
- 修复 File Manager 和存储路径工具在检查路径后却对其他路径执行操作的问题(CVE-2026-116240)。
- 修复 File Manager、Import/Export Servers、Backup、Restore 和 Import/Export Data 文件路径中的检查时序竞态,包括符号链接、硬链接和 FIFO(CVE-2026-116250)。
- 修复用户修改密码或管理员重置密码后,用户其他会话仍然存活的问题(CVE-2026-116251)。
- 修复物化视图刷新中的连接重定向问题,避免构造的数据库名被 libpq 扩展为完整连接字符串(CVE-2026-116252)。
缺陷修复与维护
- 修复多项 Schema Diff 问题,包括 SERIAL/BIGSERIAL 转换、重命名函数参数、重复列注释和身份选项,以及被引用表删除列造成的错误差异。
- 修复 View/Edit Data 对生成列处理不正确的问题。
- 修复 PostgreSQL 17 及更高版本中视图和物化视图的 MAINTAIN 权限被静默丢弃的问题。
- 修复 Kerberos 登录失败时返回 JSON 500 响应,以及首次自动创建的 Kerberos 登录被拒绝的问题。
- 修复 Query Tool 将以 latin-1 或其他非 UTF-8 编码加载的文件保存回 UTF-8 时的问题。
- 修复 Linux 软件包携带多余 Python 副本导致 DEB 软件包无法安装到 Ubuntu 26.04 的问题。
Windows、macOS、Python Wheel、Docker 容器、RPM、DEB 软件包和源代码压缩包均可从下载区域获取。
原文