↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3
历史版本PostgreSQL 7.3 已于 2007 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

A.7. 版本 7.3.15 #

发行日期

2006-05-23

本次发布包含对 7.3.14 的多方面修复,其中包括针对极其严重的安全问题的 补丁。

A.7.1. 迁移到版本 7.3.15

对于运行 7.3.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 7.3.13 的版本升级,请参阅 7.3.13 的发布说明。

要完全防御 CVE-2006-2313 和 CVE-2006-2314 所描述的 SQL 注入攻击, 可能需要更改应用程序代码。如果你的应用程序将不可信的字符串嵌入 SQL 命令,应当尽快检查它们,确保使用的是推荐转义技术。在大多数情况下, 应用程序应当使用库或驱动(例如 libpq 的 PQescapeStringConn())提供的子例程来执行字符串转义, 而不是依靠临时代码来完成。

A.7.2. 变更

  • 更改服务器,使其在所有情况下都拒绝无效编码的多字节 字符(Tatsuo、Tom)

    虽然 PostgreSQL 向这个方向演进已有一段时间,但现在 这些检查统一应用于所有编码和所有文本输入,并且一律是错误而不仅仅是警告。 此变更可防御 CVE-2006-2313 所描述的那类 SQL 注入攻击。

  • 拒绝在字符串字面量中不安全地使用 \'

    作为对 CVE-2006-2314 所描述的那类 SQL 注入攻击的服务器端防御, 服务器现在只接受 '' 而不接受 \' 作为 SQL 字符串 字面量中 ASCII 单引号的表示。默认情况下,只有当 client_encoding 设置为仅客户端编码(SJIS、BIG5、GBK、GB18030 或 UHC)时才拒绝 \',因为那是可能发生 SQL 注入的场景。新增了 一个配置参数 backslash_quote,用于在需要时调整此行为。注意, 要完全防御 CVE-2006-2314 可能还需要客户端方面的变更; backslash_quote 的目的之一就是让不安全的客户端明确暴露出其 不安全性。

  • 修改 libpq 的字符串转义例程,使其感知 编码问题

    这为使用 libpq 的应用程序修复了 CVE-2006-2313 和 CVE-2006-2314 所描述的安全问题。并发使用多个 PostgreSQL 连接的应用程序应当迁移到 PQescapeStringConn() 和 PQescapeByteaConn(),以确保对每个数据库连接中生效的设置都 正确地完成转义。“手动”进行字符串转义的应用程序应当改为依赖库 例程。

  • 修复若干不正确的编码转换函数

    win1251_to_iso、alt_to_iso、 euc_tw_to_big5、euc_tw_to_mic、 mic_to_euc_tw 都在不同程度上存在问题。

  • 清理字符串中残留的 \' 的零星使用 (Bruce、Jan)

  • 修复服务器以正确使用自定义 DH SSL 参数(Michael Fuhr)

  • 修复若干轻微的内存泄漏

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。