概要
リモート Debian ホストに、セキュリティ更新がありません。
説明
PostgreSQL で、さまざまな脆弱性が発見されました:
- CVE-2014-0060 GRANT WITH ADMIN OPTION の制限を強化します(Noah Misch 氏) ADMIN OPTION なしで役割を許可した場合、許可された人は許可された役割にメンバーを追加したり役割からメンバーを削除したりすることはできないようになっているはずですが、SET ROLE を最初に行うことによりこの制限は簡単にバイパスされていました。許可した人の意図に反して、役割メンバーが他の人のアクセスを取り消すことができることが、セキュリティ上の影響の大半の部分を占めています。
協力的ではない役割メンバーがビューや SECURITY DEFINER 関数を作成することにより、自分のほとんどの権限をなんらかの方法で他の人に譲る可能性があるため、未承認の役割メンバーの追加はそれほど大きな懸念材料にはなりません。
- CVE-2014-0061 PL バリデーター関数へのマニュアルの呼び出しによる権限昇格を防止します(Andres Freund 氏)
PL バリデーター関数は、CREATE FUNCTION の間に暗示的に呼び出されることが主な役割ですが、ユーザーが明示的に呼び出す通常の SQL 関数でもあります。実際には他の言語で書かれた関数でバリデーターを呼び出すことがチェックされていなかったため、権限昇格の目的で悪用される可能性があります。
この修正は、バリデーター関数ごとに、権限をチェックする関数への呼び出しを追加しています。コア以外の手続き型言語でも、必要に応じてそれ自体のバリデーター関数に対してこの変更を加えなければなりません。
- CVE-2014-0062 テーブルとインデックスの DDL の過程で、名前を何回も検索しないようにします(Robert Haas 氏、Andres Freund 氏)
同時に検索されるため、異なる名前が検索の結果となる場合、 DDL の一部のパーツを、その他のパーツとは異なるテーブルで実行してしまう場合があります。少なくとも CREATE INDEX の場合、これを利用することで、インデックス作成とは別のテーブルに対して、権限チェックの実行が引き起こされることがあり、これにより権限昇格の攻撃が発生する可能性があります。
- CVE-2014-0063 長い datetime 文字列によるバッファオーバーランを防ぎます(Noah Misch 氏)
MAXDATELEN 定数が間隔のタイプに利用できる最長の値には小さすぎたため、 interval_out() でバッファオーバーランが発生していました。日時の入力関数でバッファオーバーランを回避することにさらに注意していましたが、非常に長い時間帯の名前を含んでいる入力などの有効な入力も、一部が拒否されてしまうほど制限が短かったのです。ecpg ライブラリには、それ自体のもの以外にも、このような脆弱性がありました。
- CVE-2014-0064 サイズ計算での整数オーバーフローによるバッファオーバーランを回避(Noah Misch 氏、Heikki Linnakangas 氏)
いくつかの関数(ほとんどはタイプ入力関数)は、オーバーフローをチェックせずに割り当てサイズを計算していました。オーバーフローが発生した場合、小さすぎるバッファが割り当てられ、それを超えて書き込まれます。
- CVE-2014-0065 固定サイズのバッファのオーバーランを回避します(Peter Eisentraut 氏、Jozef Mlich 氏)
サイズを固定したバッファがオーバーランしないように、 strlcpy() と関連した関数を使用して確実に保証します。
前述の項目とは違い、このようなケースが実在する問題を本当に示しているかどうかは不明です。これは、入力文字列のサイズで以前の制約が存在する場合がほとんどであるためです。しかしながら、このようなタイプの Coverity 警告をすべて抑え込むことは賢明なことのようです。
- CVE-2014-0066 crypt() が NULL を返す場合のクラッシュを回避します(Honza Horak 氏、Bruce Momjian 氏)
crypt() が NULL を返すことができるようなシナリオは比較的少ないですが、返した場合は contrib/chkpass がクラッシュすることがあります。これが問題となるような実践的ケースとして、承認されていないハッシングアルゴリズム(「FIPS モード」など)を実行することを拒否するように libc を構成する場合が挙げられます。
- CVE-2014-0067 回帰テストの命令にある make check のドキュメントのリスク(Noah Misch 氏、Tom Lane 氏)
make check により起動された一時的なサーバーは「trust」認証を使用するため、同じマシン上の別のユーザーがデータベースのスーパーユーザーとしてそのサーバーに接続することが可能です。そのため、テストを開始したオペレーティングシステムユーザーの権限を悪用する可能性があります。今後のリリースでは、このようなリスクを防ぐために、テストの手順に変更を取り入れることになることが考えられます。ただし、まずは世間一般で議論が行われる必要があります。したがって、当面の間は、同じマシン上に信頼できないユーザーがいる場合、make check を使用しないようにユーザーに警告してください。
ソリューション
postgresql-8.4 パッケージをアップグレードしてください。
旧安定版(oldstable)ディストリビューション(squeeze)では、これらの問題はバージョン 8.4.20-0squeeze1 で修正されています。
プラグインの詳細
ファイル名: debian_DSA-2864.nasl
エージェント: unix
サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Nessus Agent, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P
脆弱性情報
CPE: p-cpe:/a:debian:debian_linux:postgresql-8.4, cpe:/o:debian:debian_linux:6.0
必要な KB アイテム: Host/local_checks_enabled, Host/Debian/release, Host/Debian/dpkg-l
エクスプロイトの容易さ: No known exploits are available