2015-02-06 22:58:27+08 发布 ... 翻译:doudou586

2月5日,PostgreSQL全球开发小组发布了一个用于修复几个安全方面问题的重要更新,发布了几个主要版本的补丁版本,分别是9.4.1 / 9.3.6 / 9.2.10 /9.1.15 / 9.0.19。这些更新一方面包括安全的更新,也修正了自上次发版以来的其他小问题。对9.4版本来说,还特别地更新了有关JSON和JSONB数据类型中的UNICODE字符处理的功能。所有用户建议在有适当的时机进行系统升级。

安全更新

本次更新修正了几处近几个月来大家所发现的安全问题。虽然这些问题的发生都需要一些特别的条件,如先必须进行授权或是需要额外的条件,并且这些问题也不算是紧急问题,然而,用户还是需要检查一下涉及以下功能的代码,它们可能存在潜在的问题。

  • CVE-2015-0241: to_char 函数中可能的缓存溢出.
  • CVE-2015-0242: printf函数中的缓存溢出
  • CVE-2015-0243: 在pgcrypto扩展模块中的内存问题
  • CVE-2015-0244: 在读取扩展协议的信息时报错。
  • CVE-2014-8161: 约束冲突的报错信息显示用户无权限浏览。

这次更新也修正了以前用户反馈的一些问题,如Windows平台上的正则表达式测试功能,以及会有未授权的数据库连接等。这些潜在的问题在非Windows平台已提前修正了。更多有关这些问题的信息,可以在PostgreSQL网站的安全页面浏览到。

JSON and JSONB Unicode字符转义

在PostgreSQL 9.4.0版本中对JSON和JSONB类型中的Unicode转义字符的处理的变化可能会影响一些用户代码的兼容性。为修正这个问题,JSONB不再接受转义字符"\u0000",JSON也仅在它不需要对这个字符进行非转义的处理时才接受。更多信息可浏览发布声明。

其他更新或是性能优化

除了上述问题,还有60多个用户反馈的问题也得到了修正,一些问题仅影响9.4版本,这些内容主要有:

  • 在Windows平台上非ASCII的Norwegian字符集问题
  • 当数据库被移至新的表空间,然后再移回时,避免数据出错
  • 在使用ALTER DATABASE操作时,确保UNLOGGED表会被正确地复制
  • 在锁定最近更新的记录时避免死锁
  • SELECT FOR UPDATE 查询中的问题
  • 在最短的正则表达式匹配时防止负向匹配
  • 修正tsquery包括的操作符
  • 修正xpath()中的命名空间
  • 在创建空的表格列名时防止记录生成功能
  • 让autovacuum使用每个表的cost_limit和cost_delay settings.
  • 对9.4版本中逻辑复制功能中Bug修正

同时,对下列存在有Bug的模块或是扩展也进行了修正: pg_upgrade, auto_explain, hstore, pageinspect, pgcrypto, pg_test_fsync, tablefunc和xml2。

由于仅是小版本的更新,用户不必使用导出数据然后再导入的方式或是使用pg_upgrade的方式进行升级。可以简单地将现在的服务器停止服务,直接将系统文件进行覆盖即可。用户如是进行跨多个小版本的升级时,还需要一些后续的处理,详细可浏览发布声明

相关链接: * 下载 * 发布声明 * 安全页面

© 2010 PostgreSQL中文社区