ダウンロードリスト

プロジェクト概要

PostgreSQLの実行計画で利用する統計情報を固定化して実行計画を制御するツール

pg_dbms_stats13 から、pg_dbms_stats は Github に移行しました。 これ以降のバージョンに関する情報は Github を参照してください。 pg_dbms_stats12 以前に関する情報は OSDN を参照してください。

pg_dbms_stats : https://github.com/ossc-db/pg_dbms_stats

システム要件

システム要件が設定されていません

リリース時刻: 2020-10-27 18:43
pgdbmsstats 1.3.12 (16 個のファイル 非表示)

リリースノート

pg_dbms_stats version 1.3.12 is released.

Two security issues are fixed in this release. One is installation-time issue and another is run-time issue.

  • The first one is that if someone malicious created a function with the same name with one of the pg_dbms_stats' SQL functions prior to installation, that function allows to be used to execute arbitrary script can be executed with elevated privilege. It is safe if all such functions are of the user that installed this module. The following query shows owner of pg_dbms_stats' functions.
SELECT proname, proowner::regrole FROM pg_proc WHERE pronamespace = 'dbms_stats'::regnamespace;
  • Another issue is that since pg_dbms_stats calls some intrinsic functions of PostgreSQL by non-fully-qualified names, it can be overridden by a wrong function depending on search_path setting. Upgrade is needed under an environment that any of the following functions in pg_catalog is overridden by a wrong function. 'quote_ident', 'pg_relation_size', 'current_setting', 'has_column_privilege', 'row_security_active', 'max', 'replace'.

pg_dbms_stats バージョン 1.3.12 をリリースします。

このバージョンでは2つのセキュリティ関連バグを修正します。一つはインストール時のみ関係するもので、もう一つは動作時に関係します。

  • 1つ目はインストールスクリプトの動作時にpg_dbms_statsが作成する関数と同名の関数が悪意あるものによってすでに作られていた場合に、任意のスクリプトをクエリ発行者の権限で実行できる可能性があるというものです。これはpg_dbms_statsが作成するすべての関数の所有者がpg_dbms_statsをインストールしたユーザとなっていれば問題ありません。関数の所有者は以下のSQL文で確認できます。
SELECT proname, proowner::regrole FROM pg_proc
WHERE pronamespace = 'dbms_stats'::regnamespace;
  • もう一つの問題は pg_dbms_stats が内部的に完全修飾していない名前でPostgreSQL組み込み関数を呼び出しているため、search_path で先に検索される名前空間に同名の関数があった場合にその関数が代わりに呼び出される可能性があるというものです。 以下の関数への呼び出しが pg_catalog のもの以外の関数を呼び出す環境ではアップグレードが必要となります。 'quote_ident', 'pg_relation_size', 'current_setting', 'has_column_privilege', 'row_security_active', 'max', 'replace'

変更履歴

変更履歴はありません