こんにちは。SIOS OSSエバンジェリスト/セキュリティ担当の面 和毅です。
08/17/2022にLinux Kernelの脆弱性(Dirty Cred:CVE-2021-4154, CVE-2022-2588)が公開されました。Dirty COW (CVE-2016-5195)と似たような脆弱性で、cred(LSMなどのセキュリティ系で特権情報をLinux Kernel内で扱う際に使用する構造体及びシステム)が対象となります。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について纏めます。
情報が錯綜していますので、逐次更新します。
詳細な説明はBlack Hatでの発表の記事を抜き書きさせていただきました(発表スライドの出来があまりにもわかりやすくて良かったもので・・)。
将来的には、上記のCVEだけではなく新たなCVEもアサインされる可能性があります。
20220828追記:PoC動画(CVE-2021-4154の方のみ, CentOS 8.4上でSELinux有効)をアップしました。
[過去の関連リンク]
Linux Kernelの脆弱性(CVE-2022-36946 )
Linux Kernelに脆弱性(Moderate: CVE-2022-2380 )
Linux Kernelの脆弱性( CVE-2022-34918 )
Linux Kernelに脆弱性(Important: CVE-2022-32250 (CVE-2022-1966は重複のためMITREによりRejected) )
Linux Kernelの脆弱性(Moderate: CVE-2022-1516)
Priority
CVE番号 | 影響するバージョン | 一次情報源 | Priority | CVSS Score / CVSS Vector |
---|---|---|---|---|
CVE-2021-4154 | https://i.blackhat.com/USA-22/Thursday/US-22-Lin-Cautious-A-New-Exploitation-Method.pdf | Red Hat: 8.8 Important | Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H NVD: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H | |
CVE-2022-2588 | https://i.blackhat.com/USA-22/Thursday/US-22-Lin-Cautious-A-New-Exploitation-Method.pdf | Red Hat: 7.8 Moderate | Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
PoC動画
PoCの環境にはSELinuxを有効にしたCentOS 8.4を使っています。本脆弱性の性質上、SELinuxによるアクセス制限はかかりません。
Dirty Cred (CVE-2021-4154, CVE-2022-2588) PoC on CentOS 8.4 (SELinux Enabled) (CVE-2021-4154 only).
修正方法
各ディストリビューションの情報を確認してください。
脆弱性概要(詳細はこちらのBlackHatでの講演PDFがわかりやすいです)
Linux KernelのCredentialに関しては、こちらのLinux Kernelドキュメントに纏まっています。
Dirty Credは、「非特権のcred(credential)を特権のcredと入れ替えることが出来ないか」というアイデアから見つけられた脆弱性のようです。
前述の通り、Linux Kernelのcred(Credential)はセキュリティ関連で特権などを扱うときに使われています。
credには下記のように大きく分けて二種類が存在しています。
Dirty Credは、kernel heap内に展開されたこの2種類のcredをそれぞれ
と、それぞれ特権を持つものと入れ替えようというのがコンセプトとなっています。
これには、まず
- Credential部分をフリーにするには
をそれぞれ使う
- フリーにした部分を特権のTask Credentialで埋めるには
- SUIDで動作するプロセスを使う(su, mount)
- rootで動作しているプロセスを使う(sshd)
- 特権のKernelスレッドを利用する(Kernel Workqueue, Usermode helper)
- ファイルを書き込んで安定させる
のステップを行う必要があります。
ここで、上記のステップが下記の脆弱性
を用いて検証できた、という話になります。
PoCはUbuntu/CentOS8で行い、どちらでも特権を取得することが出来た様です。
PoCデモはZhenpeng Lin氏のTwitterで見ることが出来ます。
将来的には、上記のCVEだけではなく新たなCVEもアサインされる可能性があります。
主なディストリビューションの対応方法
詳細は、各ディストリビューションの提供元にご確認ください
- Debianhttps://security-tracker.debian.org/tracker/CVE-2021-4154
- Red Hat Enterprise Linux/CentOShttps://access.redhat.com/security/cve/CVE-2021-4154
- Ubuntuhttps://ubuntu.com/security/CVE-2021-4154
- SUSE/openSUSEhttps://www.suse.com/security/cve/CVE-2021-4154.html
対処方法
各ディストリビューションの案内に従い、アップデートを行ってください。全てのRed Hat製品でパッチが行き渡っているかを確認するには、Red Hat SatelliteやKatello、Spacewalk等を使うと管理が便利でしょう。
また、OSの再起動が発生しますので、pacemakerなどOSSのクラスタ製品やLifeKeeperなどの商用のクラスタリング製品を使うとサービス断の時間を最小限にすることが出来ます。
[参考]
https://i.blackhat.com/USA-22/Thursday/US-22-Lin-Cautious-A-New-Exploitation-Method.pdf
日々のメモを更新しています。
セキュリティ関係ニュースを更新しています。個別で情報出せるようになる前の簡単な情報・リンクなんかも載せていきます。
CFP情報 1
CSS2022の論文投稿およびデモ展示・ポスター発表募集のご案内です。みなさまからのご投稿・ご発表をお待ちしております。
コンピュータセキュリティシンポジウム2022 (CSS2022)
■開催期間 2022年10月24日(月) ~ 2022年10月27日(木)
■会場 熊本城ホールとオンライン(ZOOM)のハイブリッド開催
■募集スケジュール
- 2022年08月12日(金) 論文発表申込締切(アブストラクト)
- 2022年08月23日(火) 17:00 デモ展示・ポスター発表申込締切
- 2022年08月23日(火) 17:00 最終原稿締切(カメラレディ)
主催 一般社団法人 情報処理学会 コンピュータセキュリティ研究会(CSEC)
共催 一般社団法人 情報処理学会 セキュリティ心理学とトラスト研究会(SPT)
合同開催
- マルウェア対策研究人材育成ワークショップ2022(MWS2022)
- プライバシーワークショップ2022(PWS2022)
- ユーザブルセキュリティワークショップ2022(UWS2022)
- OSSセキュリティ技術ワークショップ2022(OWS2022)
- ブロックチェーンセキュリティワークショップ2022(BWS2022)