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

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. Microsoft Windows OS において DLL Hijacking により UAC を回避する手法(Scan Tech Report)

    Microsoft Windows OS において DLL Hijacking により UAC を回避する手法(Scan Tech Report)

  2. ランサムウェア「Bad Rabbit」感染に注意喚起、水飲み場攻撃を実行か(IPA)

    ランサムウェア「Bad Rabbit」感染に注意喚起、水飲み場攻撃を実行か(IPA)

  3. 「GNU Wget」にリモートから任意のコードを実行される複数の脆弱性(JVN)

    「GNU Wget」にリモートから任意のコードを実行される複数の脆弱性(JVN)

  4. Savitech製USBオーディオドライバに、ルートCA証明書を導入される脆弱性(JVN)

  5. GNU wget に HTTP プロトコルのハンドリングにおける値検証不備に起因するバッファオーバーフローの脆弱性(Scan Tech Report)

  6. アップルがSafari、macOS、iOSなどのアップデートを公開、適用を呼びかけ(JVN)

  7. トレンドマイクロの管理マネージャに複数の脆弱性(JVN)

  8. 2017年第3四半期はダウンローダーの検出が急増、前四半期の約31倍に(IPA)

  9. 8以降のWindowsに、特定のメモリアドレスのコードを悪用される脆弱性(JVN)

  10. パケット解析ツール「Packetbeat」にDoS攻撃を受ける脆弱性(JVN)

全カテゴリランキング

特集

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

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

×