Linux Kernelの複数の脆弱性(CVE-2020-29368,CVE-2020-29369, CVE-2020-29370, CVE-2020-29371, CVE-2020-29372, CVE-2020-29373, CVE-2020-29374 )

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

11/28/2020にLinux Kernelに複数の脆弱性(CVE-2020-29368,CVE-2020-29369, CVE-2020-29370, CVE-2020-29371, CVE-2020-29372, CVE-2020-29373, CVE-2020-29374 )が公開されています。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について簡単にまとめてみます。



Priority

\n

CVE番号影響するバージョン一次情報源PriorityCVSS Score / CVSS Vector
CVE-2020-29368 Linux Kernel < 5.7.5 Issue 2045: Linux: CoW can wrongly grant write access (because of pinned references or THP bug)
CVE-2020-29369 Linux Kernel < 5.7.11 Issue 2056: Linux >=4.20: expand_downwards() can race with munmap() page table freeing
CVE-2020-29370 Linux Kernel < 5.5.11 Issue 2022: Linux: SLUB bulk alloc slowpath omits required TID increment
CVE-2020-29371 Linux Kernel < 5.8.4 Issue 2077: udisks + Linux kernel: udisks permits users to mount romfs, romfs leaks uninit memory to userspace
CVE-2020-29372 Linux Kernel < 5.6.8 Issue 2029: Linux 5.6: IORING_OP_MADVISE races with coredumping
CVE-2020-29373 Linux Kernel < 5.6 Issue 2011: Linux >=5.3: io_uring: insecure handling of root directory for path lookups
CVE-2020-29374 Linux Kernel < 5.7.3 Issue 2045: Linux: CoW can wrongly grant write access (because of pinned references or THP bug)

修正方法

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

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

  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29368
    • 5.7.5より前のLinux Kernelでmm/huge_memory.c中の__split_huge_pmd()に問題が見つかりました。copy-on-writeの実装がTHP mapcountチェックでの競合を発生させ、意図しない書き込みアクセスが発生する可能性があります。
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29369
    • 5.7.11より前のLinux Kernelでmm/mmap.cに問題が見つかりました。expand関数(expand_downwardsとexpand_upwards)と、munmpa呼び出しによるページテーブル解放操作の間で競合状態が発生する可能性があります。
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29370
    • 5.5.11より前のLinux Kernelでmm/slub.c中のkmem_cache_alloc_bulk()に問題が見つかりました。必要なTID操作でslowpathの確認が欠けていました。
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29371
    • 5.8.4より前のLinux Kernelでfs/romfs/storage.c中のromfs_dev_read()に問題が見つかりました。初期化されていないメモリのリークがユーザスペースに発生します。
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29372
    • 5.6.8より前のLinux Kernelでmm/madvise.c中のdo_madvise()に問題が見つかりました。coredump操作とIORING_OP_MADVISE実装の間で競合状態が発生します。
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29373
    • 5.6より前のLinux Kernelでfs/io_uring.c中に問題が見つかりました。path lookup厨にrootディレクトリを安全でない方法で扱っていたため、namespaceをマウントしているプロセスが予期しないファイルシステムに脱出することができる可能性があります。
  • https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-29374
    • 5.7.3より前のLinux Kernelでmm/gup.c と mm/huge_memory.cに関する問題が見つかりました。get_user_pages(gup)実装が、copy-on-writeページの為に使用されている際に、read操作をきちんと考えていなかったため予期しない書き込み権限を与えてしまう可能性があります。


対処方法

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

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


セキュリティ系連載案内


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