PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 附录 E. 版本说明 | 下一页

# E.226. 版本 7.3.15

> 发布日期: 2006-05-23

这个版本包含各种7.3.14的补丁，包括极端严重的安全问题的补丁。

## E.226.1. 迁移到版本 7.3.15

运行7.3.X的不需要转储/恢复。不过，如果从一个7.3.13更早的版本升级而来， 请查阅第 E.228 节。

在CVE-2006-2313 和 CVE-2006-2314中描述的针对SQL注入攻击的完全安全可能需要在应用代码中改变。 如果你的应用在SQL命令中嵌入了不能信任的字符串，那么你应该尽快检查它们， 以确保它们正在使用推荐的转义技术。在大多数情况下，应用应该使用库或驱动提供的子程序 （如libpq的`PQescapeStringConn()`）来执行字符串转义， 而不是依赖于ad hoc代码。

## E.226.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参数(MichaelFuhr)

- 修复各种小内存泄露

上一页 | 起始页 | 下一页
版本 7.3.16 | 上一级 | 版本 7.3.14