概要
リモートの FreeBSD ホストに 1 つ以上のセキュリティ関連の更新プログラムがありません。
説明
リモートホストにインストールされている FreeBSD のバージョンは、テスト済みバージョンより前です。したがって、7185ecc9-4fb7-11f1-bc50-6cc21735f730 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
PostgreSQL プロジェクトによる報告:
PostgreSQL CREATE TYPE の承認が欠如しているため、オブジェクト作成者が、ユーザー定義型(拡張定義型を含む)を検索するために search_path を使用する他のクエリをハイジャックする可能性があります。つまり、被害者は攻撃者が選択した任意の SQL 関数を実行します。
複数のPostgreSQLサーバー機能に整数ラップアラウンドがあるため、アプリケーション入力プロバイダーがサーバーに割り当てを過小化させ、領域外に書き込む可能性があります。これにより、セグメンテーション違反が発生します。
PostgreSQL timeofday() 関数の外部制御書式文字列により、攻撃者は、細工されたタイムゾーンゾーンを介して、サーバーメモリの一部を取得することが可能です。
PostgreSQL pg_basebackupプレーン形式のシンボリックリンクが後続pg_rewind、元のスーパーユーザーがローカルファイルを上書きできます。例えば、
オペレーティングシステムアカウントをハイジャックする可能性のある /var/lib/postgres/.bashrc。shared_preload_libraries などの機能により、これらのコマンドの後にサーバーを起動すると、暗黙のうちに元のスーパーユーザーが信頼される状態が変わりません。したがって、攻撃が実際的な意味を持つのは、これらのコマンドとサーバー起動の間で関連するアクション(ファイルを別の VM に移動する、VM をスナップショットするなど)場合のみです。
PostgreSQL pg_createsubscriber の SQL インジェクションにより、pg_create_subscription権限を持つ攻撃者がスーパーユーザーとして任意の SQL を実行する可能性があります。攻撃は、次回実行pg_createsubscriberときに有効になります。PostgreSQL 17 より前のバージョンは影響を受けません。
PostgreSQL libpq lo_*関数により、サーバーのスーパーユーザーがクライアントのスタックメモリを上書きする可能性があります。libpq lo_export()、lo_read()、lo_lseek64()、および lo_tell64() 関数PostgreSQL本質的に危険な関数 PQfn(..., result_is_int=0, ...) を使用すると、サーバーのスーパーユーザーがクライアントのスタックバッファを任意の大きな応答で上書きすることが可能です。gets() と同様に、PQfn(..., result_is_int=0, ...) は、任意の長さの、サーバーが決定するデータを、詳細不明なサイズのバッファに保存します。psql の \lo_export コマンドと pg_dump の両方が lo_read() を呼び出すため、サーバーのスーパーユーザーは pg_dump または psql スタックメモリを上書きする可能性があります。
PostgreSQL は、covert タイミングチャネルを通じて、MD5 ハッシュされたパスワードを漏洩します。PostgreSQL認証におけるMD5ハッシュパスワードとの比較における隠れタイミングチャンネルにより、攻撃者は認証に十分なユーザー資格情報を復元できます。これは、サポートされる全リリースのデフォルトである scram-sha-256 パスワードには影響しません。ただし、現在のデータベースには、PostgreSQL 13 またはそれ以前のアップグレードに由来する MD5 ハッシュパスワードが含まれている可能性があります。
PostgreSQL SSL/GSS init は、制御されない再帰によりサービス拒否を引き起こします。PostgreSQL SSL と GSS ネゴシエーションの制御されない再帰により、攻撃者が、PostgreSQL AF_UNIX ソケットに接続して、持続的なサービス拒否を達成することが可能です。SSL と GSS の両方が無効になっている場合、攻撃者は PostgreSQL TCP ソケットへのアクセスを通じて、同じことを行うことができます。
PostgreSQL pg_restore_attribute_statsは、クエリプランニングにstats配列の終端を超えて読み取らせる値を受け入れます。PostgreSQL関数 pg_restore_attribute_stats() のバッファオーバーリードが一致しない長さの配列値を受け入れるために、クエリ計画が 1 つの配列の終端を超えて読み取ることになります。これにより、テーブルメンテナーは、その配列終端を超えたメモリ値を推測できます。PostgreSQL 18 より前のバージョンは影響を受けません。
PostgreSQL refint により、スタックバッファオーバーフローおよび SQL インジェクションが可能になります。PostgreSQL モジュールリフィントのスタックバッファオーバーフローにより、権限のないデータベースユーザーが、データベースを実行しているオペレーティングシステムユーザーとして任意のコードを実行する可能性があります。アプリケーションがユーザー制御の列をリフィントカスケードプライマリキーとして宣言し、その列へのユーザー制御の更新を促進する場合は、個別の攻撃が可能になります。その場合、SQL インジェクションにより、プライマリキー更新値プロバイダーが、プライマリキー更新を実行するデータベースユーザーとして任意の SQL を実行することが可能です。
PostgreSQL REFRESH PUBLICATION により、テーブル名を使用した SQL インジェクションが可能になります。PostgreSQL 論理レプリケーション ALTER SUBSCRIPTION ... REFRESH PUBLICATION により、サブスクライバーテーブル作成者は、サブスクリプションのパブリケーション側の認証情報を使用して任意の SQL を実行できます。攻撃は、次の REFRESH PUBLICATION 時に有効になります。PostgreSQL 16 より前のバージョンは影響を受けません。
Tenable は、前述の記述ブロックを FreeBSD セキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
影響を受けるパッケージを更新してください。
プラグインの詳細
ファイル名: freebsd_pkg_7185ecc94fb711f1bc506cc21735f730.nasl
サポートされているセンサー: Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:P
ベクトル: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
現状ベクトル: CVSS:3.0/E:P/RL:O/RC:C
脆弱性情報
CPE: p-cpe:/a:freebsd:freebsd:postgresql14-client, p-cpe:/a:freebsd:freebsd:postgresql17-client, p-cpe:/a:freebsd:freebsd:postgresql15-client, p-cpe:/a:freebsd:freebsd:postgresql16-client, p-cpe:/a:freebsd:freebsd:postgresql16-server, p-cpe:/a:freebsd:freebsd:postgresql18-client, p-cpe:/a:freebsd:freebsd:postgresql18-server, cpe:/o:freebsd:freebsd, p-cpe:/a:freebsd:freebsd:postgresql14-server, p-cpe:/a:freebsd:freebsd:postgresql17-server, p-cpe:/a:freebsd:freebsd:postgresql15-server
必要な KB アイテム: Host/local_checks_enabled, Host/FreeBSD/release, Host/FreeBSD/pkg_info
エクスプロイトの容易さ: Exploits are available
参照情報
CVE: CVE-2026-6472, CVE-2026-6473, CVE-2026-6474, CVE-2026-6475, CVE-2026-6476, CVE-2026-6477, CVE-2026-6478, CVE-2026-6479, CVE-2026-6538, CVE-2026-6575, CVE-2026-6637