2007年12月13日 (木)

Mac OS X のカーネルに DoS 脆弱性

Apple Mac OS X Mach_Loader.C Local Denial of Service Vulnerability」によると Mac OS X のカーネルを DoS 状態にする脆弱性があるそうです。


背景

OS の基本機能はカーネルと呼ばれる一つのプロセス(実行されているプログラム)によって行われます。Mac OS X は Darwin と呼ばれる BSD 系の UNIX をベースにしていて、その BSD 系のカーネルのソースファイルには mach_loader.c というファイルがあります。このファイルには実行ファイルのバイナリコードをプロセスの実行内容にするためにメモリ上にロードする機能に関係しているようです。

内容

このカーネルのソース mach_loader.c で定義されている load_threadstack という関数には整数溢れによって無限ループを起こすという欠陥があり、これが起こるとカーネルがクラッシュしてしまいます。

SecurityFocus ではこの脆弱性の実証コードが公開されています。ざっと眺めた限りでは既存のプログラムからこの脆弱性を突くためのプログラムを作成するプログラムのようです。

影響

この脆弱性によりローカルの特に権限を持たないユーザがカーネルをクラッシュさせ、そのシステム(Mac OS X)をサービス不能状態(DoS)にさせることができます。

対象

Mac OS X 10.4 および 10.5.1 で確認されたそうですが、他のバージョンにも同様の脆弱性があるものと思われます。

対応

まだこの脆弱性に対応するパッチはリリースされていません。信頼できるユーザにのみシステムの利用を許可するという対応しか無いでしょう。

しかしながら SecurityFocus に掲載されている実証コードを見ると、簡単にこの脆弱性を突くプログラムを作ることができます。ということはそうして作成されたプログラムが Mac OS X への攻撃用ファイルとして流通する事態も考えられます。プログラムのインストールなどは信用できる配布元から行うように心掛けましょう。

追記

ハヤシもあるでよ

Mac OS X "cs_validate_page()" Local Denial of Service - Advisories - Secunia」によると、突くところは異なりますが、攻略の手法と効果がそっくりな脆弱性もあるそうです。報告者はこの脆弱性と同じ人です。

異なる脆弱性なのでいつもは別エントリにするのですが、ユーザにとって大した違いはないから追記としました。


Posted: 18:22    | Comment | Trackback


以下、類似エントリです。