CVE-2024-26581 PoC Exploit Released: Linux Systems at Risk of Root Compromise
2024/09/05 SecurityOnline — Linux kernel の脆弱性 CVE-2024-26581 (CVSS:7.8) に対する、技術的な詳細と PoC エクスプロイト・コードが、ある研究者から公開された。この脆弱性の悪用に成功したローカルの認証済みの攻撃者は、影響を受けるシステムから機密情報を取得する可能性を得る。

この脆弱性は、nftables 内のセットを管理する “nft_set_rbtree” 関数内に存在する。特別に細工したリクエストの送信により、この欠陥の誘発に成功した攻撃者は、その結果として、トランザクション中に “end interval element” を不正に開示できるようになる。この漏洩した情報は、さらなる悪意のアクティビティのために、悪用される可能性を持つものとなる。
脆弱性 CVE-2024-26581 は、Linux Kernel の 6.1.9 以降/5.15.91 以降/5.10.166 以降に影響を及ぼす。
while (prev) {
rbe_prev = rb_entry(prev, struct nft_rbtree_elem, node);
if (nft_rbtree_interval_end(rbe_prev) &&
nft_set_elem_active(&rbe_prev->ext, genmask))
break;
prev = rb_prev(prev);
}
この脆弱性の根本的な問題は、”nft_rbtree_gc_elem” 関数にある。この関数に欠落しているのは、'”prev” が参照する “setelement” への重要なチェックである。この問題により、”use-after-free” 状態が引き起こされる可能性があり、割り当てが解除されたメモリへの不注意によるアクセスが成立してしまう。その結果として、予測不可能な動作や、潜在的なセキュリティ侵害につながる可能性が生じる。
具体的に言うと、”nftables” フレームワークのトランザクション・ロールバック中に、この脆弱性は発生する。つまり、エラーが検出されると、ロールバック機構 (nf_tables_abort) が起動され、”setelement” が二重に削除される可能性が生じる。エラー状態がトリガーされる前に、攻撃者が ”NFTA_SET_ELEM_EXPIRATION” フラグもしくは、”NFTA_SET_ELEM_TIMEOUT” フラグを持つセット要素を挿入し、その後に ”NFT_SET_ELEM_INTERVAL_END” フラグを持つ別の要素の挿入に成功した場合に、この欠陥はさらに悪化する。
この脆弱性 CVE-2024-26581 に対しては、PoC エクスプロイト・コードが公開されており、この脆弱性を悪用する情報漏洩のシナリオが例証されている。このエクスプロイトと巧妙に細工された後続の攻撃を連鎖させることで、攻撃者はルート・レベルまで権限を昇格させ、影響を受けるシステムの完全な制御を取得する可能性を手にする。
システム管理者に対して強く推奨されるのは、Linux kernel のバージョンを確認し、利用可能なアップデートやパッチを適用することである。それに加えて、”nftables” に関連する不審なアクティビティの監視や、ローカル・アクセスの制限などにより、リスクを軽減すべきである。さらに、SELinux などのセキュリティ・モジュールの使用により、セキュリティ対策を実施することで、リスクを軽減することも可能である。
Linux kernel の脆弱性 CVE-2024-26581 ですが、このブログでは拾っていなかったので、お隣のキュレーション・チームに聞いてみました。すると、2024年2月29日付けで取得されていた脆弱性であることが分かりました。それから半年が経過し、PoC エクスプロイトが提供されるという展開になっています。ご利用のチームは、ご注意ください。よろしければ、Linux kernel で検索も、ご利用ください。
You must be logged in to post a comment.