许多 PostgreSQL 提供的客户端应用程序都包含创建额外数据库连接的选项。其中一些应用程序仅重用基本的连接参数(例如 host、user、port),而丢弃其他参数。如果丢弃了安全相关的参数(例如 channel_binding、sslmode、requirepeer、gssencmode),攻击者就有机会完成中间人(MITM)攻击或窃听明文传输。
受影响的应用程序包括 clusterdb、pg_dump、pg_restore、psql、reindexdb 和 vacuumdb。只有当使用包含安全相关参数的连接字符串调用受影响的客户端应用程序时,才会出现此漏洞。
这也修复了 psql 的 \connect 命令重用连接参数的方式,即现在重用了来自先前连接字符串的所有未被覆盖的参数。
PostgreSQL 项目感谢 Peter Eisentraut 报告了此问题。
| 受影响版本 | 已修复版本 | 修复发布日期 |
|---|---|---|
| 13 | 13.1 | 2020 年 11 月 12 日 |
| 12 | 12.5 | 2020 年 11 月 12 日 |
| 11 | 11.10 | 2020 年 11 月 12 日 |
| 10 | 10.15 | 2020 年 11 月 12 日 |
| 9.6 | 9.6.20 | 2020 年 11 月 12 日 |
| 9.5 | 9.5.24 | 2020 年 11 月 12 日 |
有关 PostgreSQL 版本信息 的更多信息,请访问 版本信息页面。
| 总体得分 | 8.1 |
|---|---|
| 组件 | 客户端 |
| 向量 | AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
如果您希望报告 PostgreSQL 中的新安全漏洞,请发送电子邮件至 security@postgresql.org。
如需报告非安全相关错误,请参阅 报告错误 页面。