Linuxカーネルの脆弱性により、権限昇格が行える脆弱性(CVE-2014-3153)に関する検証レポート
【概要】
Linuxカーネルに、システムにログイン可能な一般ユーザーが権限昇格を行える脆弱性(CVE-2014-3153)の攻撃方法が発見されました。この脆弱性は過去にAndroidのroot化を行う目的で利用されていた実績のある脆弱性です。
この脆弱性はkernelのfutexサブシステムの処理に不備が存在しており、悪意のあるローカルユーザーが細工したfutexシステムコールを送信することでリング0の制御を奪取することが可能です。
【※上記説明文章の参考ページ】
Linux kernel futex local privilege escalation
本レポート作成(2014年11月27日)時点において、The Linux Kernel Archiveより2014年6月7日に脆弱性を修正するバージョンのカーネルがリリースされていることが確認できております。しかしながら、攻撃を成立させるためのコードが容易に入手可能であり、かつ脆弱性に対する攻撃が容易であること、また攻撃を受けた際にシステムへの影響が大きいことから、今回、この脆弱性(CVE-2014-3153)の再現性について検証を行いました。
【影響を受ける可能性があるシステム】
– Linux Kernel 3.14.5よりも以前のバージョン
現在利用されているシステムのカーネルバージョンは、以下のコマンドを実行することにより確認が可能です。
uname -r
【対策案】
この脆弱性を修正するバージョンのカーネル(3.14.6)がリリースされています。
またRedhat Enterprise Linuxの場合、6系ならばkernel-2.6.32-431.20.3.el6以降のパッケージで、7系ならばkernel-3.10.0-123.4.2.el7以降のパッケージでこの問題が修正されています。
当該脆弱性が修正されたカーネルにアップデートしていただくことを推奨いたします。
なお、この脆弱性を利用するためには、システムにログインできることが前提です。そのため、運用上カーネルのアップデートを実施できない場合は、システムに登録されているユーザーのパスワードを強固にしていただくこと、またシステムへのアクセス可能な経路を必要最低限に制限していただくことにより、攻撃を受ける可能性を低減することが可能です。
しかしながら、正規のユーザーによりこの脆弱性を利用された場合は、上記の対策は回避策とはなりません。よって、根本的に問題を解決していただくため、カーネルのバージョンアップを実施していただくことが推奨されます。
【参考サイト】
CVE-2014-3153
JVNDB-2014-002785 Linux Kernel の kernel/futex.c の futex_requeue 関数における権限を取得される脆弱性
【検証ターゲットシステム】
CentOS 7.0.1406
【検証概要】
脆弱性の存在するターゲットに一般ユーザーでログイン後、攻撃者が作成した細工されたコードを実行することにより権限昇格を行い、結果root権限を奪取するというものです。
これにより、ターゲットで全権の操作が可能となります。
【検証結果】
下図は、ターゲットシステム(CentOS)の画面です。黄線で囲まれている部分は、細工されたコードを実行する前のカーネル情報および一般ユーザーを示すID情報が表示されています。一方、赤線で囲まれている部分は、細工されたコードを実行した後の画面で、rootユーザーのID情報が表示されています。
これにより、ターゲットシステムで権限昇格を行うことに成功しました。
reported by y.izumita, ntsuji