Linux Kernel の compat_sys_recvmmsg() 関数の実装に起因する権限昇格の脆弱性(Scan Tech Report) | ScanNetSecurity[国内最大級のサイバーセキュリティ専門ポータルサイト]
2017.09.21(木)

Linux Kernel の compat_sys_recvmmsg() 関数の実装に起因する権限昇格の脆弱性(Scan Tech Report)

脆弱性と脅威 エクスプロイト

1.概要
Linux Kernel には、recvmmsg システムコールを取り扱う際の timeout パラメータ処理に起因して、権限昇格が可能な脆弱性が存在します。
システムにアクセス可能なローカルの悪意あるユーザに利用された場合、root 権限を取得され、システムを完全に制御される可能性があります。
Linux Kernel で x32 ABI 機能 (CONFIG_X86_X32) を有効にする環境では、脆弱性を悪用される可能性があるため、影響を受けるバージョンの Linux Kernel を利用するユーザは可能な限り以下の対策を実施することを推奨します。


2.深刻度(CVSS)
6.9
http://nvd.nist.gov/cvss.cfm?version=2&name=CVE-2014-0038&vector=%28AV%3AL/AC%3AM/Au%3AN/C%3AC/I%3AC/A%3AC%29


3.影響を受けるソフトウェア
Linux Kernel 3.4.x - 3.4.78/3.10.28/3.11.10/3.12.9/3.13.1

※1 影響を受けるバージョンの Linux Kernel が実装される openSUSE や Ubuntu などの Linux ディストリビューションもこの脆弱性の影響を受けます。


4.解説
x32 ABI (Application Binary Interface)※2 は、64 ビット環境で 32 ビットのポインタが使える機能を提供するバイナリインタフェースであり、Linux Kernel 3.4 より当該機能がサポートされています。
openSUSE や Ubuntu などの Linux ディストリビューションでは、既定で CONFIG_X86_X32 が有効 (CONFIG_X86_X32=y) になっています。

この CONFIG_X86_X32 が有効な Linux Kernel には、compat_sys_recvmmsg()関数 (net/compat.c) において、ユーザ空間から渡される timeout パラメータを適切にチェックせず、パラメータ値をそのままカーネル空間へのポインタとして処理してしまう不備があります。
このため、recvmmsg システムコールを介して、特定の関数ポインタのアドレスを指定した timeout パラメータを渡すことで、カーネルメモリ領域に任意のデータを書き込むことが可能な問題が存在します。

この脆弱性を利用することでシステムにアクセス可能なローカルの攻撃者は、root に権限昇格を行い、当該権限で任意のコマンドが実行可能となります。

※2 x32-abi
https://sites.google.com/site/x32abi/


5.対策
以下の Web サイトを参考に Linux Kernel 3.4.79/3.10.29/3.12.10/3.13.2 以降を入手しアップデートする、あるいは修正パッチを入手し適用することで、この脆弱性を解消することが可能です。

Linux Kernel:
http://www.kernel.org/

Linux Kernel linux.git 2def2ef2ae5f3990aabdbe8a755911902707d268
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2def2ef2ae5f3990aabdbe8a755911902707d268

また、Linux ディストリビューションにおいては、それぞれのベンダが提供するセキュリティアドバイザリを参考に、適切なパッケージを入手しアップデートすることで、この脆弱性を解消することが可能です。

・openSUSE 12.3/13.1
openSUSE-SU-2014:0204-1
http://lists.opensuse.org/opensuse-security-announce/2014-02/msg00002.html
openSUSE-SU-2014:0205-1
http://lists.opensuse.org/opensuse-security-announce/2014-02/msg00003.html

・Ubuntu 12.04 LTS/13.10
CVE-2014-0038
http://people.canonical.com/~ubuntu-security/cve/2014/CVE-2014-0038.html


6.ソースコード
(Web非公開)

(執筆:株式会社ラック サイバー・グリッド研究所

※Web非公開該当コンテンツ閲覧をご希望の方はScan Tech Reportにご登録(有料)下さい。

Scan Tech Report
http://scan.netsecurity.ne.jp/archives/51916302.html
《株式会社ラック サイバー・グリッド研究所》

関連記事

Scan PREMIUM 会員限定

もっと見る

Scan PREMIUM 会員限定特集をもっと見る

Scan BASIC 会員限定記事

もっと見る

Scan BASIC 会員限定記事特集をもっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)

もっと見る

[Web小説] サイバー探偵 工藤伸治の事件簿サーガ (シーズン 1~6 第1話)特集をもっと見る

カテゴリ別新着記事

脆弱性と脅威 カテゴリの人気記事 MONTHLY ランキング

  1. Wi-Fiルータを攻撃し、Androidユーザを感染させるトロイの木馬を発見(カスペルスキー)

    Wi-Fiルータを攻撃し、Androidユーザを感染させるトロイの木馬を発見(カスペルスキー)

  2. 自動車ハッキングのリスク 本当のところ - 名古屋大学 高田教授に聞く

    自動車ハッキングのリスク 本当のところ - 名古屋大学 高田教授に聞く

  3. Apache Struts 2 において REST プラグインの実装不備により任意のコードが実行されてしまう脆弱性(Scan Tech Report)

    Apache Struts 2 において REST プラグインの実装不備により任意のコードが実行されてしまう脆弱性(Scan Tech Report)

  4. Windows OS における SMB プロトコルの実装を悪用してサービス不能攻撃が可能となる問題 - SMBLoris(Scan Tech Report)

  5. Git における値検証不備を悪用して任意のコードが実行可能となる脆弱性(Scan Tech Report)

  6. 富士ゼロックスが提供する複数の製品に任意コード実行の脆弱性(JVN)

  7. 「WannaCry」や「Mirai」の亜種や別種によるアクセスが増加(警察庁)

  8. NTT西日本の「フレッツ接続ツール」に任意コード実行の脆弱性(JVN)

  9. 幅広い環境が影響を受けるBluetoothの脆弱性「BlueBorne」に注意喚起(JPCERT/CC)

  10. Microsoft Windows の GDI に Palette オブジェクトにおける整数オーバーフローにより管理者権限で任意のコードが実行可能となる脆弱性(Scan Tech Report)

全カテゴリランキング

特集

★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★
<b>★★Scan PREMIUM 会員限定コンテンツにフルアクセスが可能となります★★</b>

経営課題としてサイバーセキュリティに取り組む情報システム部門や、研究・開発・経営企画に携わる方へ向けた、創刊19年のセキュリティ情報サービス Scan PREMIUM を、貴社の事業リスク低減のためにご活用ください。

×