Mandriva Linux セキュリティアドバイザリ:postgresql(MDVSA-2015:110)

medium Nessus プラグイン ID 82363

概要

リモート Mandriva Linux ホストには、1 つ以上のセキュリティ更新がありません。

説明

更新済みの postgresql パッケージにより、以下の複数のセキュリティ脆弱性が修正されます:

ADMIN OPTION なしで役割を許可した場合に許可された人が許可された役割にメンバーを追加したり役割からメンバーを削除したりすることはできないようになっているはずですが、 SET ROLE を最初に行うことでこの制限は簡単に回避されていました。許可した人の意図に反して、役割メンバーが他の人のアクセスを取り消すことができることが、セキュリティ上の影響の大半の部分を占めています。協力的ではない役割メンバーがビューや SECURITY DEFINER 関数を作成することにより、自分のほとんどの権限をなんらかの方法で他の人に譲る可能性があるため、未承認の役割メンバーの追加はそれほど大きな懸念材料にはなりません(CVE-2014-0060)。

PL バリデーター関数は、CREATE FUNCTION の間に暗示的に呼び出されることが主な役割ですが、ユーザーが明示的に呼び出す通常の SQL 関数でもあります。実際には他の言語で書かれた関数でバリデーターを呼び出すことがチェックされていなかったため、権限昇格の目的で悪用される可能性があります。この修正は、バリデーター関数ごとに、権限をチェックする関数への呼び出しを追加しています。
コア以外の手続き型言語でも、必要に応じてそれ自体のバリデーター関数に対してこの変更を加えなければなりません(CVE-2014-0061)。

同時に検索されるため、異なる名前が検索の結果となる場合、 DDL の一部のパーツを、その他のパーツとは異なるテーブルで実行してしまう場合があります。少なくとも CREATE INDEX の場合、これを利用することで、インデックス作成とは別のテーブルに対して、権限チェックの実行が引き起こされることがあり、これにより権限昇格の攻撃が発生する可能性があります(CVE-2014-0062)。

MAXDATELEN 定数が間隔のタイプに利用できる最長の値には小さすぎたため、 interval_out() でバッファオーバーランが発生していました。
日時の入力関数でバッファオーバーランを回避することにさらに注意していましたが、非常に長い時間帯の名前を含んでいる入力などの有効な入力も、一部が拒否されてしまうほど制限が短かったのです。
ecpg ライブラリには、それ自体のもの以外にも、このような脆弱性がありました(CVE-2014-0063)。

いくつかの関数(ほとんどはタイプ入力関数)は、オーバーフローをチェックせずに割り当てサイズを計算していました。オーバーフローが発生した場合、小さすぎるバッファが割り当てられ、それを超えて書き込まれます(CVE-2014-0064)。

サイズを固定したバッファがオーバーランしないように、 strlcpy() と関連した関数を使用して確実に保証します。前述の項目とは違い、このようなケースが実在する問題を本当に示しているかどうかは不明です。これは、入力文字列のサイズで以前の制約が存在する場合がほとんどであるためです。しかしながら、このようなタイプの Coverity 警告をすべて抑え込むことは賢明なことのようです(CVE-2014-0065)。

crypt() が NULL を返すことができるようなシナリオは比較的少ないですが、返した場合は contrib/chkpass がクラッシュすることがあります。これが問題となるようなある実践的ケースとして、承認されていないハッシングアルゴリズム(「FIPS モード」など)を実行することを拒否するように libc を構成する場合が挙げられます(CVE-2014-0066)。

make check により起動された一時的なサーバーは「trust」認証を使用するため、同じマシン上の別のユーザーがデータベースのスーパーユーザーとしてそのサーバーに接続することが可能です。そのため、テストを開始したオペレーティングシステムユーザーの権限を悪用する可能性があります。今後のリリースでは、このようなリスクを防ぐために、テストの手順に変更を取り入れることになることが考えられます。ただし、まずは世間一般で議論が行われる必要があります。したがって、当面の間は、同じマシン上に信頼できないユーザーがいる場合、make check を使用しないようにユーザーに警告してください(CVE-2014-0067)。

テーブルでのセキュリティ許容度が制限されているユーザーが、サーバーエラーメッセージを通じて SELECT 権限なしに列の情報にアクセスできることがあります(CVE-2014-8161)。

to_char() 関数が、バッファの終端を越えて読み取り/書き込みをする可能性があります。フォーマットテンプレートを処理する際に、これによってサーバーがクラッシュする可能性があります(CVE-2015-0241)。

pgcrypto モジュールはスタックバッファオーバーランに脆弱であり、サーバーがクラッシュする可能性があります(CVE-2015-0243)。

Emil Lenngren 氏は、クライアントとサーバーの間の同期が失われると、攻撃者が SQL コマンドを注入できることを報告しました(CVE-2015-0244)。

この更新により、これらの問題およびその他の問題を修正する PostgreSQL バージョン 9.3.6 および 9.2.10 が、提供されます。

ソリューション

影響を受けるパッケージを更新してください。

参考資料

http://advisories.mageia.org/MGASA-2014-0205.html

http://advisories.mageia.org/MGASA-2015-0069.html

プラグインの詳細

深刻度: Medium

ID: 82363

ファイル名: mandriva_MDVSA-2015-110.nasl

バージョン: 1.7

タイプ: local

公開日: 2015/3/30

更新日: 2021/1/14

サポートされているセンサー: Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 5.9

CVSS v2

リスクファクター: Medium

基本値: 6.5

ベクトル: CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P

脆弱性情報

CPE: p-cpe:/a:mandriva:linux:lib64ecpg9.2_6, p-cpe:/a:mandriva:linux:lib64ecpg9.3_6, p-cpe:/a:mandriva:linux:lib64pq9.2_5.5, p-cpe:/a:mandriva:linux:lib64pq9.3_5, p-cpe:/a:mandriva:linux:postgresql9.2, p-cpe:/a:mandriva:linux:postgresql9.2-contrib, p-cpe:/a:mandriva:linux:postgresql9.2-devel, p-cpe:/a:mandriva:linux:postgresql9.2-docs, p-cpe:/a:mandriva:linux:postgresql9.2-pl, p-cpe:/a:mandriva:linux:postgresql9.2-plperl, p-cpe:/a:mandriva:linux:postgresql9.2-plpgsql, p-cpe:/a:mandriva:linux:postgresql9.2-plpython, p-cpe:/a:mandriva:linux:postgresql9.2-pltcl, p-cpe:/a:mandriva:linux:postgresql9.2-server, p-cpe:/a:mandriva:linux:postgresql9.3, p-cpe:/a:mandriva:linux:postgresql9.3-contrib, p-cpe:/a:mandriva:linux:postgresql9.3-devel, p-cpe:/a:mandriva:linux:postgresql9.3-docs, p-cpe:/a:mandriva:linux:postgresql9.3-pl, p-cpe:/a:mandriva:linux:postgresql9.3-plperl, p-cpe:/a:mandriva:linux:postgresql9.3-plpgsql, p-cpe:/a:mandriva:linux:postgresql9.3-plpython, p-cpe:/a:mandriva:linux:postgresql9.3-pltcl, p-cpe:/a:mandriva:linux:postgresql9.3-server, cpe:/o:mandriva:business_server:2

必要な KB アイテム: Host/local_checks_enabled, Host/cpu, Host/Mandrake/release, Host/Mandrake/rpm-list

パッチ公開日: 2015/3/29

参照情報

CVE: CVE-2014-0060, CVE-2014-0061, CVE-2014-0062, CVE-2014-0063, CVE-2014-0064, CVE-2014-0065, CVE-2014-0066, CVE-2014-0067, CVE-2014-8161, CVE-2015-0241, CVE-2015-0242, CVE-2015-0243, CVE-2015-0244

MDVSA: 2015:110