FreeBSD Daily Topics

2009年3月25日 カーネルパニックを実現する脆弱性と,Jailブレイクやセキュリティ機能バイパスにつながる脆弱性

この記事を読むのに必要な時間:およそ 0.5 分

security-advisory

次の2件のFreeBSDセキュリティアドバイザリが報告されました。該当している場合にはアップデートを実施してください。

FreeBSD-EN-09:01.kenv

カーネル環境変数まわりの処理でバッファのサイズに制限を儲けていない部分があり,悪意のある処理を実施されるとカーネル内部で大量のメモリを確保して,最終的にはカーネルをクラッシュできる可能性があることがFreeBSD-EN-09:01.kenvで報告されています。影響を受けるのはFreeBSD 7系(7.0-RELEASE,7.1-RELEASE,7.2-PRERELEASE)です。

kenv(2)システムコールを使うことでユーザランドプロセスからカーネル内部におけるカーネル環境変数の設定,取得,取り消し,エントリの一覧取得といった操作を実施できます。このダンプの処理において,利用するバッファサイズのチェックをしていなかったため大量のメモリを確保される危険性があることがわかりました。この脆弱性の問題は,特権を持たない一般ユーザのプロセスもカーネル内部に大量のメモリを確保できてしまう点にあります。ローカルにアカウントを持っているユーザで悪意のあるユーザによってカーネルがパニックする可能性があります。

この問題に対処するには,カーネルをセキュリティ対策がほどこされた最新版にアップグレードしてシステムを再起動する必要があります。一時的に同脆弱性を回避する方法はありません。

FreeBSD-SA-09:06.ktimer

カーネルメモリの任意の場所を上書きできる脆弱性がFreeBSD-SA-09:06.ktimerにおいて報告されています。影響を受けるのはFreeBSD 7系(7.0-RELEASE,7.1-RELEASE,7.2-PRERELEASE)です。

とくにこの脆弱性をつくとユーザIDを0に書き換えてroot権限で動作させるということが可能になります。Jailブレイクやセキュリティ機能のバイパスも原理的に可能になる脆弱性です。

FreeBSD 7.0からプロセスごとのタイマー機能がサポートされました。これはPOSIXリアルタイムエクステンションで定義されている機能です。同機能を使うことでプロセス単位で制限された範囲内の個数のタイマーを一度に保持できることになります。処理としてはタイマーの値が0以下だった場合の判定処理が抜けていたために,そのあとの処理で誤った操作が行われて結果的に脆弱性につながっていたというものです。

本脆弱性を一時的に回避する方法はありません。最新のセキュリティブランチに更新してからカーネルを再構築してシステムを再起動してください。

バックナンバー

FreeBSD Daily Topics

バックナンバー一覧

コメント

コメントの記入