Linux Kernel には、/proc/
システムにアクセス可能なローカルの悪意あるユーザに利用された場合、root 権限を取得され、本来許可されていない操作が実行される可能性があります。
この脆弱性は、Juri Aedla 氏が 2012/1/17 に発見し、同日 kernel.org が GIT リポジトリにおいてパッチを公開した問題となります。
その後、Jason A. Donenfeld 氏が 2012/1/22 に、この脆弱性を容易に悪用可能な攻撃コード Mempodipper を公開しています。
脆弱性を悪用された場合の影響度が高いため、対象のユーザは可能な限り以下の対策を実施することを推奨します。
2.深刻度(CVSS)
6.9
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2012-0056&vector=%28AV%3AL/AC%3AM/Au%3AN/C%3AC/I%3AC/A%3AC%29
3.影響を受けるソフトウェア
Linux Kernel 2.6.39 - 3.0.17/3.2.1
※影響を受けるバージョンの Linux Kernel が実装される Fedora 15/16, Red Hat Enterprise Linux 6 Server, Ubuntu 10.04 LTS/11.10 などの Linux ディストリビューションも、この脆弱性の影響を受けます。
4.解説
Linux Kernel の /proc ファイルシステムは、システムで実行するプロセスや
メモリ情報などを他のプロセスから参照可能にするインターフェースであり、
/proc 配下にある /proc/
ます。
Linux Kernel には、mem_write() 関数 (fs/proc/base.c) において、
/proc/
当該関数を介して setuid が付与されたプログラムのメモリ領域を上書きされ
ることで、root に権限昇格が可能な脆弱性が存在します。
この脆弱性を利用することでシステムにアクセス可能なローカルの攻撃者は、
root 権限で任意のコマンドが実行可能となります。
なお、この脆弱性は、Linux Kernel 2.6.39 において、/proc/
アクセス制限が不十分であるのに、以下のパッチ (198214a7) によって、書き
込み機能 (mem_write) を再有効にしたことに起因しています。
Linux Kernel GIT Repository Commit 198214a7
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=198214a7
また、Jason A. Donenfeld 氏によって公開された、この脆弱性を悪用する攻
撃コード Mempodipper の影響を受け、Jay Freeman 氏が Android 4.0 (Ice
Cream Sandwich) に対して攻撃可能なコード mempodroid を公開しています。
当該コードを利用して、Android 4.0 を搭載する Android 端末 Galaxy Nexus
などで root 化 (rooting) が可能であることが同氏より報告されています。
mempodroid:
https://github.com/saurik/mempodroid
5.対策
(Web非公開)
6.ソースコード
(Web非公開)
(執筆:株式会社ラック コンピュータセキュリティ研究所)
※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。