Linux KernelにKEYS周りの複数の脆弱性(CVE-2017-17805, CVE-2017-17806, CVE-2017-17807) — | サイオスOSS | サイオステクノロジー

Linux KernelにKEYS周りの複数の脆弱性(CVE-2017-17805, CVE-2017-17806, CVE-2017-17807)

12/20/2017にLinux KernelにKEYS周りの複数の脆弱性情報(CVE-2017-17805, CVE-2017-17806, CVE-2017-17807)が公開されています。今回はこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。

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

12/20/2017にLinux KernelにKEYS周りの複数の脆弱性情報(CVE-2017-17805, CVE-2017-17806, CVE-2017-17807)が公開されています。今回はこの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。



Priority

Moderate(CVE-2017-17805,CVE-2017-17806), Low(CVE-2017-17807)

修正方法

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

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

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17805
    • DoS(初期化されていないメモリの開放とカーネルのクラッシュ)の可能性

    • 重要度 – Moderate

    • Linux Kernel 4.14.8以前では、Salsa20暗号化アルゴリズムでゼロ長の入力値をきちんとハンドリングできていなかったため、ローカルの攻撃者がblkcipher_walk APIを使うシステムコールを細工して、AF_ALGベースのskcipherインターフェイス(CONFIG_CRYPTO_USER_API_SKCIPHER)を通じてDoS(初期化されていないメモリの開放とカーネルのクラッシュ)を引き起こす事が可能です。

      Generic(crypto/salsa20_generic.c)とx86実装(arch/x86/crypto/salsa20_glue.c)の両方共に脆弱性があります。

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17806
    • カーネルのスタックバッファオーバーフローの可能性

    • 重要度 – Moderate

    • Linux Kernel 4.14.8以前では、HMAC実装(crypto/hmac.c)で基盤が鍵なしハッシュ関数であるかどうかをチェックしていないため、ローカルの攻撃者はSHA-3の初期化を行わないように細工されたシステムコールを用い、AF_ALG-ベースのハッシュインターフェイス(CONFIG_CRYPTO_USER_API_HASH)とSHA-3ハッシュアルゴリズム(CONFIG_CRYPTO_SHA3)を通してカーネルのスタックバッファオーバーフローを引き起こす事が出来る可能性が有ります。

  • http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17807
    • ローカルユーザによる権限を無視したkeyringへの鍵の追加の可能性

    • 重要度 – Low

    • Linux Kernel 4.14.6以前でのKEYSサブシステム(security/keys/request_key.cのconstruct_get_dest_keyring()周り)では、キーをrequest_key()システムコールを通してcurrentタスクの”default request-key keyring”に追加する際に、アクセスコントロールチェックを省略していたので、ローカルユーザは細工したシステムコールを使用して、keyringへのパーミッションがWriteパーミッションでは無くSearchパーミッションだけにも関わらず、キーをkeyringに追加することが出来る可能性があります。


主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください


対処方法

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

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

また、OSの再起動が発生しますので、pacemakerなどOSSのクラスタ製品LifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。

[参考]

https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.8

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17805

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17806

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17807

セキュリティ系連載案内

—–

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