リリース日: 2006-02-14
このリリースは8.1.2の各種不具合を修正したもので、非常に深刻なセキュリティ問題を1つ含みます。
8.1.Xからの移行ではダンプ/リストアは不要です。 しかし、8.1.2より前のバージョンからアップグレードする場合は、8.1.2のリリースノートを参照してください。
任意のログインしたユーザが他の任意のデータベースユーザIDにSET ROLEすることができる不具合を修正しました。(CVE-2006-0553)
有効検査が不適切であったため、 ユーザは 通常SET ROLEがエラーの後に以前のロール設定に戻すために使用する特殊な状況を不正利用することができました。 これにより例えば、一般ユーザはスーパーユーザ状態を持つことができます。 権限の拡大という危険は8.1.0から8.1.2までのみに存在します。 しかし、7.3までさかのぼるすべてのリリースにおいて、アサートを有効にしてコンパイルした場合(これはデフォルトではありません)、非特権ユーザがサーバをクラッシュできるという、関連した不具合がSET SESSION AUTHORIZATIONにあります。 この問題を報告してくれたAkio Ishidaに感謝します。
自身が挿入した行に関する行の可視性ロジックについての不具合を修正しました。 (Tom)
非常に稀な状況で、現在のコマンドが挿入した行が、本来無効であるべき時に既に有効になっているものとして扱われることがありました。 リリース8.0.4、7.4.9、7.3.11で組み込まれた不具合を修正しました。
pg_clogおよびpg_subtransファイル生成時に"ファイルが既に存在する"というエラーを引き起こす競合条件を修正しました。 (Tom)
準備済み文内のUNKNOWNパラメータ用のDOMAIN制約を適切に検査します。 (Neil)
ALTER COLUMN TYPEがFOREIGN KEY、UNIQUE、PRIMARY KEY制約を確実に適切な順番で処理するようにしました。 (Nakano Yoshihisa)
独自の演算子や演算子クラスを参照するクロススキーマを持つダンプをリストアできるように修正しました。 (Tom)
COPYに失敗した後、pg_restoreが適切に処理を継続できるようにしました。 これまではCOPYデータの残りをSQLコマンドとして扱おうとしました。 (Stephen Frost)
データディレクトリを指定しない場合にpg_ctl unregisterがクラッシュすることを修正しました。 (Magnus)
libpq PQprint
HTMLタグを修正しました。
(Christoph Zwerschke)
AMD64およびPPC上のecpgのクラッシュを修正しました。 (Neil)
関数の戻り値型宣言において、SETOFと%TYPEの両方を使用できるようにしました。
PL/pythonにおいて、引数を渡す段階でエラーが発生した場合に適切に復旧するようにしました。 (Neil)
plperl_return_next
内のメモリリークを修正しました。
(Neil)
Win32において、PL/perlのロケールの扱いをバックエンドに合わせるように修正しました。 (Andrew)
オプティマイザのさまざまな修正。 (Tom)
Win32においてpostgresql.confでlog_min_messagesがDEBUG3以上に設定された時のクラッシュを修正しました。 (Bruce)
Win32、Cygwin、OS X、AIX用のpgxs -Lライブラリ検索パス指定を修正しました。 (Bruce)
Win32の管理者権限を検査する時にSIDが有効か検査します。 (Magnus)
範囲外の日付入力を適切に拒否します。 (Kris Jurka)
configure時のfinite
およびisinf
の存在検査に関する移植性を修正しました。
(Tom)
データ行単位のカーネルコールを止め、libpq経由のCOPY INの速度を向上しました。 (Alon Goldshuv)
/contrib/tsearch2のインデックス作成速度を向上しました。 (Tom)