( DirtyCOW : CVE-2016-5195 )Linux kernelにroot昇格の脆弱性

10/21付で、LinuxのKernelの脆弱性が発表されました。この脆弱性を突かれると一般ユーザーでもrootユーザー権限でコマンドを実行できてしまうという恐れがあります。この記事ではこの脆弱性情報についてまとめています。

一次元情報

一次情報は以下のサイトになります。一番上のサイトが各情報をまとめており、それ以下は各Linuxのディストリビューターのサイトになります。(いずれも英語サイトです。)

各ディストリビューションのパッチは公式サイトより配布される予定ですので、案内に従って要チェックしておきましょう。

どういう脆弱性か

Linuxカーネルのメモリサブシステムにおける脆弱性で、本脆弱性は「DirtyCOW」と名付けられています。「copy-on-write(COW)」というLinuxカーネルのメモリサブシステムにおいて、プライベートなread-onlyメモリを破損する事が可能です。

これによって、権限のないローカルユーザーが、プライベートなリードオンリーメモリマッピングへの書き込み可能な権限を取得できるので、システム上でのroot権限取得が可能となります。

 

該当バージョン

現行のLinuxのほぼすべてが該当します。それぞれのディストリビューションによって対応も異なるので、各サイトを確認してください。

 

 

対処法

上に掲載した、各ディストリビューションのサイトに従ってアップデートを適用してください。UbuntuやDebianでは公式にパッチが配布されています。

そのほかのディストリビューション

AWSではこちらでパッチが公開されています。

 

RHELはパッチ未配布

しかしながら、RHEL/CentOSではまだパッチが配布されていないようですので、今後の情報収集に注意しましょう。

こちら(https://access.redhat.com/security/cve/cve-2016-5195)のページで情報は更新されますので、要チェックしておきましょう。

RHELのパッチが公開されました(10/26)

こちら(https://rhn.redhat.com/errata/RHSA-2016-2098.html)にてRHELのカーネルのパッチが公開されました。

こちらのページ(https://access.redhat.com/articles/11258)によると、

を実施するだけでアップデートが可能ですので、対応のバージョンをお持ちの方は至急実施してください。

 

root権限昇格

以下の方法については、検証用として紹介します。決して、自身の持つ環境以外では実行しないでください。またこの方法を用いて罪に問われたとしても一切責任は負いません。

 

上記にサイトではPoC(Proof of concept)が公開されています。

 

こちらに公開されている方法で、どのように実際に攻撃を受けるのか、また自身の環境が攻撃を受ける可能性があるのか検証することができます。

今回、検証を行ったPoCはこちらです。

 

環境は

  • OS : CentOS7.1
  • Kernel : 3.10.0-327.el7.x86_64

となっております。

 

まず適当なディレクトリを作って、そこにこのPoCのファイルをcowroot.cという名前で置きます。

その後、以下のように実行します。

これだけで、簡単にroot権限に昇格することができました。

他にもPoCsにて、その手順が紹介されていますので自身の環境が脆弱性でどのように狙われる可能性があるのか、を確認するために一度検証してみるとよいでしょう。

まとめ

DirtyCOWでは条件さえ揃えば、簡単にroot権限に昇格することができます。また多くの、デバイスに影響がある可能性があるので、今後の情報に十分注意して対策を行ってください。

  • このエントリーをはてなブックマークに追加
  • Pocket