リリース7.3.21

PostgreSQL 9.1.1文書
前のページ | 巻戻し | 付録 E. リリースノート | 早送り | 次のページ

# E.141. リリース7.3.21

> リリース日: 2008-01-07

このリリースは、重大なセキュリティ問題の修正を含む、7.3.20の各種不具合を修正したものです。

これが7.3.X系の最後のPostgreSQLリリースとなる予定です。 ユーザはより新しいリリースブランチに早めの更新を行うことが推奨されています。

## E.141.1. バージョン7.3.21への移行

7.3.Xからの移行ではダンプ/リストアは不要です。 しかし、7.3.13より前のバージョンからアップグレードする場合は、7.3.13のリリースノートを参照してください。

## E.141.2. 変更点

- インデックス内の関数が`VACUUM`、`ANALYZE`などを実行するユーザの権限で実行されることを防止します。(Tom)

  インデックス式内で使用される関数および部分インデックスの述語は、新しいテーブル項目が作成されると評価されます。 これが、もし信頼できないユーザが所有するテーブルを変更したとすると、トロイの木馬となるコードの実行という危険性を引き起こすことは以前から解っていました。 （トリガ、デフォルト、検査制約なども同種の危険性を引き起こします。） しかしインデックス内の関数は、`VACUUM FULL`などの日常の保守作業で実行される可能性があるため、さらに危険です。 こうした保守作業は通常自動的にスーパーユーザ権限で行われます。 例えば、極悪なユーザがトロイの木馬となるインデックス定義を設定し、次回の日常のバキューム処理を待つことで、スーパーユーザ権限でコードを実行することが可能です。 この修正は、`SECURITY DEFINER`関数で使用されていた権限変更機構を使用して、標準的な保守作業（`VACUUM`、`ANALYZE`、`REINDEX`、`CLUSTER`を含む）が呼び出したユーザではなくテーブル所有者として実行するように調整しました。 こうしたセキュリティ制限の迂回を防ぐために、`SET SESSION AUTHORIZATION`および`SET ROLE`が`SECURITY DEFINER`コンテキストで禁止されるようになりました。(CVE-2007-6600)

- `/contrib/dblink`を使用して、パスワード認証のみをセキュリティ制限として使用するには非スーパーユーザでなければなりません。

  7.3.20で行った修正は不十分で、一部の`dblink`関数に対してのみ問題を解消していました。(CVE-2007-6601,CVE-2007-3278)

- マルチバイトデータベース符号化方式を使用している時に潜在する、`translate()`のクラッシュを修正しました。

- `contrib/tablefunc`の`crosstab()`が、クラッシュするのではなく、独自の意味でカテゴリとしてNULL行識別子を扱うようにしました。(Joe)

- `configure`スクリプトを再生成する場合、特定のバージョンのAutoconfを使用することが必要になりました。(Peter)

  これは開発者とパッケージ作成者のみに影響します。 この変更は、AutoconfとPostgreSQLの未確認のバージョンの組み合わせを使用する事故を防ぐためになされました。 その結果がうまくいくかどうかについて責任を負う限り、異なるバージョンのAutoconfを本当に使用したい場合は、このバージョン検査を取り除くことができます。

前のページ | ホーム | 次のページ
リリース 7.4 | 上に戻る | リリース7.3.20