VIM, GNU Emacsの脆弱性( VIM: CVE-2017-1000382, GNU Emacs: CVE-2017-1000383 ) — | サイオスOSS | サイオステクノロジー

VIM, GNU Emacsの脆弱性( VIM: CVE-2017-1000382, GNU Emacs: CVE-2017-1000383 )

10/31/2017にVIM, GNU Emacsの両方に、スワップファイルのパーミッションに関する脆弱性情報(VIM: CVE-2017-1000382, GNU Emacs: CVE-2017-1000383)が公開されました。今回はこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。

こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。

10/31/2017にVIM, GNU Emacsの両方に、スワップファイルのパーミッションに関する脆弱性情報(VIM: CVE-2017-1000382, GNU Emacs: CVE-2017-1000383)が公開されました。今回はこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。



Priority

Medium/Moderate

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • http://www.openwall.com/lists/oss-security/2017/10/31/15

    • ファイルへの意図しないアクセス権限の付与

    • 重要度 – Medium/Moderate

    • VIM, GnuEmacsで、ファイルを編集している際に作成されるスワップファイルは、umaskで定めたファイル制限を無視した形で作成されます。VIM等がクラッシュした際にはファイルがそのディレクトリに残ってしまうため、意図しない形でアクセス権限が付与されたファイル(スワップファイル)が、ディレクトリ内に残っている状態になってしまいます。。

  • 例として、Debian(unstable)でテストしてみました。

    1. ディレクトリ(/var/tmp/vim_test)のumaskを0007にします。

      sios@localhost:/var/tmp/vim_test$ umask
      0007
      
    2. /var/tmp/vim_test以下に”test1″というファイルを作成します。

      sios@localhost:/var/tmp/vim_test$ touch test1
      sios@localhost:/var/tmp/vim_test$ ls -la
      合計 56
      drwxr-xr-x   2 sios sios  4096 11月  1 07:38 .
      drwxrwxrwt 337 root   root   49152 11月  1 07:36 ..
      -rw-rw----   1 sios sios     0 11月  1 07:38 test1
      
    3. test1ファイルのotherに”r”を付与します。

      sios@localhost:/var/tmp/vim_test$ chmod o+r test1
      sios@localhost:/var/tmp/vim_test$ ls -la
      合計 56
      drwxr-xr-x   2 sios sios  4096 11月  1 07:39 .
      drwxrwxrwt 337 root   root   49152 11月  1 07:38 ..
      -rw-rw-r--   1 sios sios     0 11月  1 07:38 test1
      
    4. test1ファイルをvimで編集します。

      sios@localhost:/var/tmp/vim_test$ vi test1
      
    5. 他のターミナルを開いて/var/tmp/vim_testディレクトリを見てみると、スワップファイルが”-rw-r-r–“で作成されていることがわかります。

      sios@localhost:/var/tmp/vim_test$ ls -la
      合計 60
      drwxr-xr-x   2 sios sios  4096 11月  1 07:39 .
      drwxrwxrwt 337 root   root   49152 11月  1 07:38 ..
      -rw-r--r--   1 sios sios  4096 11月  1 07:39 .test1.swp
      -rw-rw-r--   1 sios sios     0 11月  1 07:38 test1
      
    6. umaskは”0007″になっているため、たとえtest1というファイルのotherに”r”が付いていたとしても、スワップファイルは新たに作成されたファイルであるためotherの”r”は取れて”-rw-r—–“になっていなければなりません。このスワップファイルには修正中のファイルの内容が含まれているため、万が一vimがクラッシュしてスワップファイルが残り、その後test1のパーミッションを”-rw-r—–“に書き直したとしても、otherに読み込みを許可しているスワップファイルが残留してしまうことになります。



対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat Satelliteを使うと管理が便利でしょう。

Red Hat Satelliteを用いた一般的なErattaの適用は、『Red Hat Satellite 6でerrataを適用してみる』
参考にして下さい。

[参考]

http://www.openwall.com/lists/oss-security/2017/10/31/15


セミナー情報

2017/11/29 19:00に、OSSセキュリティ技術の会 第二回勉強会を行います。

今回のテーマは新世代のOSS認証基盤です。

https://connpass.com/event/69314/がプログラム内容と申し込みの詳細になります。奮ってご参加下さい。

セキュリティ系連載案内

—–

タイトルとURLをコピーしました