CVE-2024-1086: Critical Linux Kernel Flaw Demands Immediate Patching, PoC Published!
2024/03/26 SecurityOnline — Linux Kernel Netfilter に存在する深刻な脆弱性の、技術的詳細と PoC エクスプロイト・コードが公開され、無数のシステムが危険にさらされている。この脆弱性 CVE-2024-1086 (CVSS:7.8) の悪用に成功した、基本的なアクセス権を持つローカル攻撃者は、簡単に特権をエスカレートさせることが可能となる。突如として、一般のユーザーが、あなたのシステムのルート権限を得るという状況を想像してみてほしい。

何が問題なのか?
この脆弱性は、Netfilter サブシステムの nft_verdict_init() 関数における、use-after-free の欠陥に起因している。この脆弱性の悪用に成功した攻撃者は、昇格した権限で任意のコード実行が可能となるため、システムのセキュリティが著しく損なわれる可能性が生じる。
誰が影響を受けるのか?
この脆弱性は、Linux バージョン v5.14.21〜v6.6.14 に存在するため、影響を及ぼす範囲は広く、潜在的な範囲が拡大すると推測される。つまり、Debian/Ubuntu などの人気のディストリビューションも対象になることを意味する。その一方で、2024年2月にパッチがリリースされたという、グッド・ニュースもある。
攻撃の仕組み
Netfilter フックの verdict オブジェクトを作成する際に、このカーネルは、誤って肯定的なドロップエラーを許可していた。この見落としは、nf_hook_slow() が skb オブジェクトを解放するシナリオを、攻撃者であるユーザーが引き起こす可能性があることを意味する。それは、hook/rule から NF_DROP が返され、その後に、欺瞞的な NF_ACCEPT が返された場合に生じる。結果として、nf_hook_slow() の呼び出し元を誤解させる状況を作り出し、パケットの解析を続けさせ、最終的には double-free のシナリオにつながるものとなる。
技術的なことを抜きにすると、この攻撃者が特別なネットワーク・リクエストを、作成するところから話は始まる。この不正なリクエストは、リクエストは正常に処理されたとカーネルに勘違いさせ、重要なメモリの塊を解放させるように仕向ける。その後に攻撃者は、このメモリ・ホールを悪用し、特権コマンドを注入して実行することになる。
CVE-2024-1086 の技術的詳細と PoC が提供される
セキュリティ研究者である Notselwyn は、この脆弱性を明らかにし、技術的な詳細と PoC エクスプロイトを公開した。
ただし、脆弱性 CVE-2024-1086 には注意点があり、エクスプロイトの有効性には限界がある。たとえば、”kconfig CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y” を持つ v6.4 以上のカーネル (Ubuntu v6.5 を含む) は脆弱ではない。さらに、この悪用の前提条件としては、ユーザー・ネームスペースの利用可能性/ネームスペースの非特権状態/nf_tables の有効化などもある。
これらの要件は、Debian/Ubuntu/KernelCTF などのディストリビューションでは、デフォルトで満たされており、潜在的なターゲットになり得る。また、このエクスプロイトは、ネットワーク・アクティビティが多いシステムでは、不安定になる可能性がある。
Linux Kernel の NetFilter に関しては、2023/12/19 に「Linux Kernel NetFilter の脆弱性 CVE-2023-6817:権限昇格攻撃の危険性」という記事もポストされています。そして今回は、脆弱性 CVE-2024-1086 (CVSS:7.8) と PoC が公表されたわけです。ご利用のチームは、ご注意ください。

You must be logged in to post a comment.