pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
目录
2008-01-07
本次发布包含对 7.3.20 的多方面修复,其中包括对重要安全问题的修复。
这预计是 PostgreSQL 7.3.X 系列的最后一个发行版。 建议用户尽快更新到较新的发行分支。
对于运行 7.3.X 的用户,不需要进行转储/恢复。不过,如果你是从早于 7.3.13 的版本升级,请参阅 7.3.13 的发布说明。
防止索引中的函数以运行 VACUUM、ANALYZE 等命令的 用户的权限执行(Tom)
索引表达式和部分索引谓词中使用的函数会在每次插入新表项时被求值。 长期以来人们一直明白,如果修改由不可信用户拥有的表,这会带来特洛伊木马 代码执行的风险。(注意,触发器、默认值、检查约束等也会带来同类风险。) 但索引中的函数具有额外的危险性,因为它们会被例程维护操作(例如 VACUUM FULL)执行,而这类操作通常在超级用户账户下自动执行。 例如,恶意用户可以通过设置特洛伊木马式的索引定义并等待下一次例行清理, 以超级用户权限执行代码。此修复安排标准维护操作(包括 VACUUM、ANALYZE、REINDEX 和 CLUSTER)以表所有者而非调用用户的身份执行,使用的正是 SECURITY DEFINER 函数已在使用的权限切换机制。为防止绕过 这一安全措施,现在禁止在 SECURITY DEFINER 上下文中执行 SET SESSION AUTHORIZATION 和 SET ROLE。(CVE-2007-6600)
作为一项安全措施,要求使用 /contrib/dblink 的非超级用户 只使用密码认证(Joe)
7.3.20 中针对此问题出现的修复并不完整,它只堵住了部分 dblink 函数的漏洞。(CVE-2007-6601、CVE-2007-3278)
修复在多字节数据库编码下使用 translate() 时潜在的崩溃(Tom)
使 contrib/tablefunc 的 crosstab() 将 NULL rowid 本身作为一个类别处理,而不是崩溃(Joe)
要求在重新生成 configure 脚本时使用特定版本的 Autoconf(Peter)
这只影响开发者和打包者。此变更是为了防止意外使用未经测试的 Autoconf 与 PostgreSQL 版本组合。 如果你确实想使用不同的 Autoconf 版本,可以移除该版本 检查,但结果能否正常工作由你自己负责。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。