他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

E.248. リリース7.4.29

リリース日: 2010-05-17

このリリースは7.4.28に対し、各種の不具合を修正したものです。 7.4メジャーリリースにおける新機能についてはE.277. リリース7.4を参照してください。

PostgreSQLコミュニティは2010年7月に7.4.X系のリリースの更新版の公開を停止します。 ユーザには新しいリリース版まで更新することを奨励します。

E.248.1. バージョン7.4.29への移行

7.4.Xからの移行ではダンプ/リストアは不要です。 しかし7.4.26以前のバージョンからアップデートする場合はE.251. リリース7.4.26を参照してください。

E.248.2. 変更点

  • Safe.pmを使用するのではなく、インタプリタ全体に適用されるopmaskを使用してplperlを強制的に制限します。(Tim Bunce, Andrew Dunstan)

    最近の開発によりplperlを信頼できるとする根拠とするにはSafe.pmが非常に安全ではないことを知らされました。 この変更により、Safe.pmの使用がなくなり、常に適用されるopcodeマスクを持つ別のインタプリタを使用するようになります。 この変更の喜ばしい副作用として、plperl内で普通の方法でPerlのstrictプラグマが使用できるようになりました。 また、Perlの$a$bがソート関数で想定される動作を行うようになり、関数のコンパイルが非常に高速になりました。(CVE-2010-1169)

  • PL/Tclにおいてpltcl_modules経由で信頼できないコードが実行されることを防止しました。(Tom)

    PL/TclのデータベーステーブルからTclコードを自動読み込みする機能はトロイの木馬攻撃によりつけこまれる可能性がありました。 そのテーブルの作成や挿入のできるユーザに対する制限がなかったためです。 この変更により、pltcl_modulesがスーパーユーザにより所有されていない限り、この機能は無効になります。 (しかし、このテーブルに対する権限は検査されませんので、安全性が低いモジュールを本当に必要とするインストレーションでは、信頼された非スーパーユーザに適切な権限を付与することができます。) また、 pltclu関数を本当に実行しようとしていない限り、制限がない通常のTclにコードが読み込まれることを防止しました。(CVE-2010-1170)

  • 非特権ユーザがスーパーユーザのみのパラメータ設定を再設定することを許しません。(Alvaro)

    これまで、非特権ユーザが自身に対するALTER USER ... RESET ALLまたは自身が所有するデータベースに対するALTER DATABASE ... RESET ALLを行った場合、そのユーザまたはデータベースに対する特別なパラメータ設定は、たとえスーパーユーザのみにより変更可能なものとして提供されるものであっても、すべて削除されました。 ALTERはそのユーザが変更権限を持つパラメータのみを削除するようになりました。

  • CONTEXT追加がログ項目になされる時にシャットダウンが発生した場合に、バックエンドのシャットダウン時にクラッシュする可能性を防ぎました。(Tom)

    現在のトランザクションがログメッセージを出力する時点に達した時にすでにロールバックされているために文脈出力関数が失敗することがありました。

  • pl/perlのppport.hを最近のPerlバージョンに更新しました。(Andrew)

  • pl/python内の雑多なメモリリークを修正しました。(Andreas Freund, Tom)

  • contrib/pgstattuple関数がキャンセル割り込みに即座に応答することを確実にしました。(Tatsuhito Kasahara)

  • サーバ起動時に、既存の共有メモリセグメントに対してshmget()EINVALを返す状況を適切に扱うようにしました。(Tom)

    この振舞いはOS Xを含むBSD派生のカーネルにおいて観測されました。 共有メモリ要求サイズが大きすぎるという警告の、完全に間違った起動失敗という結果になりました。