CVE-2024-36971 の詳細
CVEの情報
説明:
In the Linux kernel, the following vulnerability has been resolved:
net: fix __dst_negative_advice() race
__dst_negative_advice() does not enforce proper RCU rules when
sk->dst_cache must be cleared, leading to possible UAF.
RCU rules are that we must first clear sk->sk_dst_cache,
then call dst_release(old_dst).
Note that sk_dst_reset(sk) is implementing this protocol correctly,
while __dst_negative_advice() uses the wrong order.
Given that ip6_negative_advice() has special logic
against RTF_CACHE, this means each of the three ->negative_advice()
existing methods must perform the sk_dst_reset() themselves.
Note the check against NULL dst is centralized in
__dst_negative_advice(), there is no need to duplicate
it in various callbacks.
Many thanks to Clement Lecigne for tracking this issue.
This old bug became visible after the blamed commit, using UDP sockets.
CVE更新日: 2024-06-10 09:15:09.127000
CVSSバージョン: 3.1
CVSSスコア: 7.8
KEVの情報
KEV更新日: 2024-08-07
EPSSの情報
EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。
EPSSスコア: 0.027010000
EPSS更新日: 2026-10-16 00:00:00
SSVCの情報
SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。
Exploitation: active
Technical Impact: high
Automatable: False
CVE-2024-36971に関する脆弱性調査結果を以下に解説します。
1. 脆弱性の概要
1.1 影響
CVE-2024-36971は、Linuxカーネルのネットワーク経路管理におけるUse-After-Free (UAF) の脆弱性です。この脆弱性により、攻撃者は特定のネットワーク接続の動作を変更する可能性があります。影響を受けるシステムでは、カーネルの不安定化、データの破損、およびローカル攻撃者による任意のコード実行(システム整合性と可用性の侵害)につながる可能性があります。特にAndroidデバイスにおいては、ユーザー操作なしに悪意を持って作成されたパケットを送信することで、リモートからの任意のコード実行(RCE)を許す可能性があります。この脆弱性は、すでに実環境で積極的に悪用されていることが報告されています。
1.2 深刻度
この脆弱性の深刻度は、Red Hatによって「重要 (Important)」と評価されており、NVD(National Vulnerability Database)およびLookoutによってCVSSスコア7.8の「高 (High)」と評価されています。
2. 対象となる環境
2.1 影響を受けるOSバージョン
この脆弱性は以下のOSバージョンに影響を及ぼします。 * Linuxカーネル * Android OSの2024-08-05セキュリティパッチレベル以前のバージョン。 * Debian Linux * Ubuntu 18.04 LTS、20.04 LTS、22.04 LTS、24.04 LTS(Ubuntu ProでFIPSアップデートが利用可能)。 * Oracle Linux 7 (kernel, kernel-uek, kernel-uek-container) および Oracle Linux 8 (kernel, kernel-uek, kernel-uek-container)。
2.2 影響を受ける設定
この脆弱性は、Linuxカーネルの
__dst_negative_advice()関数に存在します。この関数がsk->dst_cacheをクリアする際に、適切なRCU(Read-Copy-Update)ルールが適用されなかったことが原因で、UAF状態が発生する可能性があります。特にUDPソケットを使用している場合に影響を受けやすいです。 また、サードパーティのKABIモジュールを使用している環境で、これらのモジュールがnegative_advice()関数を使用している場合、CVE-2024-36971の修正を適用した後にカーネルクラッシュが発生する可能性があります。3. 影響を受けた時の兆候
影響を受けた際の兆候としては、以下のものが挙げられます。 * UDPソケット操作に関連する予期しないクラッシュ。 * Use-After-Free状態を示すカーネルログエントリ。 * Androidデバイスでは、カーネルメモリの破損、不安定性、およびテスト環境ではストレージメタデータの破損により、「データ破損」のブート状態(ソフトブリック)に至るケースが確認されています。
4. 推奨対策
4.1 本対策
4.2 暫定回避策(緩和策)
negative_advice()関数を使用するモジュールに起因します。参照したサイト