リリース7.4.29

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

# E.111. リリース7.4.29

> リリース日: 2010-05-17

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

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

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

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

## E.111.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派生のカーネルにおいて観測されました。 共有メモリ要求サイズが大きすぎるという警告の、完全に間違った起動失敗という結果になりました。

前のページ | ホーム | 次のページ
リリース7.4.30 | 上に戻る | リリース7.4.28