Pgpool-II 4.7.3などがリリースされました
Pgpool-II 4.7.3などがリリースされました。
このリリースには、脆弱性修正が含まれます。大半の脆弱性はwatchdogに関連しています。
-
フェイルオーバ時のPgpool-IIのwatchdogのメッセージ処理において、攻撃者が不正なメッセージを渡すことにより、任意のメモリアドレスに任意の32ビット値を書き込むことができる脆弱性があります。(CVE-2026-92867)
-
Pgpool-IIのwatchdogのメッセージ処理において、攻撃者が不正なメッセージを渡すことにより、固定長配列の境界を超えてメモリ領域が書き換えられる脆弱性があります。(CVE-2026-92869)
-
Pgpool-IIのwatchdogにおいて、フェイルオーバ処理メッセージの扱いに脆弱性があり、任意の長さの値を書き込むことによりスタックを破壊し、Pgpool-IIのプロセスをクラッシュさせることができます。(CVE-2026-92870)
-
Pgpool-IIのwatchdogノード間認証において、認証キーが設定されている環境で、認証情報を含まない細工されたwatchdogメッセージを適切に処理できないことに起因するNULLポインタ参照の脆弱性があります。(CVE-2026-92871)
-
Pgpool-IIのハートビート受信プロセスには、情報を漏洩する可能性がある脆弱性があります。(CVE-2026-92872)
-
Pgpool-IIのwatchdogの昇格処理において、攻撃者が認証キーチェックをバイパスして、任意のwatchdogノードをリーダーノードに昇格できる脆弱性があります。(CVE-2026-92873)
-
クライアントが証明書認証を使ってPgpool-IIに接続する際に、Pgpool-IIがクライアントのX.509証明書のCommon Name (CN)フィールド内のドメイン名にある’\0’を適切に処理しないため、悪意のあるクライアントがパスワードなしに他のユーザ名でPgpool-IIサーバに接続できる脆弱性があります。(CVE-2026-92868)
その他、以下の不具合修正が行われました。
- 削除された設定パラメータをデフォルト値に戻すようにしました。(Taiki Koshino)
- pgpool.confから削除またはコメントアウトされた再読み込み可能なパラメータを、デフォルト値に戻すようにしました。 以前は、設定を再読み込みしても古い値が保持されていました。 設定ファイルから読み込まれたものではない値は変更しません。
-
拡張クエリのパイプライン処理中にSyncが早期に送信される問題を修正しました。(Taiki Koshino)
-
パイプラインモードで遅延制約エラーが発生するとハングする問題を修正しました。(Taiki Koshino)
-
Parseでの内部トランザクション処理の不整合を修正しました。(Taiki Koshino)
-
do_error_execute_command()での応答バッファのポインタ更新を修正しました。(Taiki Koshino)
-
handle_query_context()で解析木の存在を確認するようにしました。(Tatsuo Ishii)
-
PCPワーカーの終了シグナルハンドラではフラグの設定のみを行うようにしました。(Taiki Koshino)
-
PCP親プロセスのシグナルハンドラではフラグの設定のみを行うようにしました。(Taiki Koshino)
-
アイドル接続の後処理をシグナルハンドラからメインループに移しました。(Taiki Koshino)
-
ライフチェックの終了シグナルハンドラではフラグの設定のみを行うようにしました。(Taiki Koshino)
-
クエリキャッシュのキーに区切りを追加し、衝突を防ぐようにしました。(Taiki Koshino)
-
inject_cached_message()での符号なし整数のアンダーフローを修正しました。(Taiki Koshino)
-
pgprotoでのバッファ境界外アクセスを修正しました。(Tatsuo Ishii)
- 認証中の通知メッセージの転送を修正しました。(Tatsuo Ishii)
- セッションコンテキストが確立される前の認証段階で、バックエンドからの通知メッセージを安全に転送するようにしました。 これにより、PostgreSQL 19以降が出力するMD5認証の通知メッセージによってFATALエラーが発生する問題を修正しました。
-
pgpool_admのpcp_proc_info()がクラッシュする問題を修正しました。(Tatsuo Ishii)
-
read_kind_from_backend()で不正なErrorResponseの長さを拒否するようにしました。(Tatsuo Ishii)
- pool_do_auth()でセグメンテーション違反が発生する問題を修正しました。(Tatsuo Ishii)
- 共有メモリ上のメインノードIDを個別にコピーするのではなく、コピーしたバックエンドの状態からローカルのメインノードIDを決定するようにしました。 これにより、フェイルオーバー中の状態の不整合によってpool_do_auth()でNULLの接続ポインタが参照されることを防ぎます。 また、共有メモリからの読み取りにvolatile修飾子を追加しました。
-
Pgpool-IIのメインプロセスのシグナルハンドラで安全でない操作を行わないようにしました。(Tatsuo Ishii)
-
バックエンドノードの停止後にクエリコンテキストの解放済みメモリを使用する問題を修正しました。(Tatsuo Ishii)
-
拡張クエリモードでCOPY INがハングする問題を修正しました。(Tatsuo Ishii)
-
pcp_node_infoがハングする問題を修正しました。(Tatsuo Ishii)
- disable_load_balance_on_write使用時のクエリキャッシュ処理を修正しました。(Tatsuo Ishii)
- 実際の書き込みを、disable_load_balance_on_writeが使用する状態とは別に追跡するようにしました。 これにより、このパラメータをtrans_transaction、dml_adaptive、またはalwaysに設定した場合にクエリキャッシュが誤って使用される問題を修正しました。
詳しくは4.7.3リリースノートをご覧ください。
tags: Pgpool-II - Minor-releases - 4.7.3 - 4.6.8 - 4.5.13 - 4.4.18 - 4.3.21