30秒で判断
- 対応すべき人: libpqベースのクライアント(psql / pg_dump 等)で、信頼できない、または侵害されうるPostgreSQLサーバに接続する運用がある組織
- 対応不要な人: 自組織が完全に管理・信頼するサーバにのみ接続している / 影響を受けないバージョンを使用中
- 確認方法: クライアント側のPostgreSQL(libpq)バージョンを確認し、18.4 / 17.10 / 16.14 / 15.18 / 14.23 以降かを照合する
概要
PostgreSQL の libpq における lo_export() / lo_read() / lo_lseek64() / lo_tell64() の各関数は、内部的に危険な PQfn(..., result_is_int=0, ...) を使用しています。この呼び出しは gets() と同様に、サーバが決定する任意長のデータをサイズ未指定のバッファへ書き込みます。
psql の \lo_export コマンドや pg_dump は lo_read() を呼ぶため、悪意あるサーバのスーパーユーザが pg_dump や psql のスタックメモリを上書きできる可能性があります。攻撃の起点がサーバ側スーパーユーザである点で悪用条件は限定的ですが、信頼できないサーバへ接続するツール運用では注意が必要です。
CVSSベクトル
| 指標 | 値 |
|---|---|
| CVSSスコア | 8.8 |
| 深刻度 | High |
| CWE | CWE-242(本質的に危険な関数の使用) / CWE-120 |
| 攻撃元区分 | ネットワーク |
| 攻撃条件の複雑さ | 低 |
| 必要な特権レベル | 高(サーバ側スーパーユーザ) |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| PostgreSQL (libpq) | PostgreSQL | 18.4 未満, 17.10 未満, 16.14 未満, 15.18 未満, 14.23 未満 |
修正バージョンと回避策
- PostgreSQL 18.4 / 17.10 / 16.14 / 15.18 / 14.23 以降へアップデートしてください(クライアント側のlibpqが対象)。
- ディストリビューション提供のパッケージ(Red Hat RHSA 等)でも更新が配布されています。
- 信頼できないPostgreSQLサーバへ
psql/pg_dumpで接続する運用は、修正版適用まで見直すことを推奨します。
関連リンク
データソース: NVD (NIST) AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
