CVE-2026-98562 in Linux
要約
〜によって VulDB • 2026年10月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
net: libwx: Txタイムスタンプ処理における競合状態の修正
wx->ptp_tx_skbは、Txパス、PTP補助ワーカー、およびタイムスタンプクリーンアップパス間で共有されています。WX_STATE_PTP_TX_IN_PROGRESSビットは複数のTxパスがタイムスタンプリクエストを同時に送信するのを防ぎますが、ワーカーとクリーンアップ処理の直列化(シリアライズ)には対応していません。
その結果、wx_ptp_tx_hwtstamp_work()がポインタを取得した後に、wx_ptp_clear_tx_timestamp()によってskbが解放される可能性があります。その後、ワーカーは解放されたskbをskb_tstamp_tx()に渡して、同じ参照を再度解放してしまうことがあります。
クリーンアップパスでは、ワーカーが古いskbの処理をまだ行っている間に進行中ビットをクリアすることもあります。これにより、Txパスが新しいskbを公開でき、ワーカーはその後にNULLで上書きし、その参照リークを引き起こします。
Txタイムスタンプskbのパブリケーションと消費を保護するために、専用のスピンロックを追加しました。ロック保持中にskbのデタッチおよび進行中ビットのクリアを行い、その後、参照解放前にタイムスタンプを送信してskbをリリースします。quiesceパスでも同じロック付きクリーンアップを使用しますが、そこでのデタッチはレジスターアクセスを行わないようにします。これは、quiesceがPCIeエラーリカバリ中に実行され、その環境ではMMIOの信頼性が得られないためであり、以前から意図的にデバイスへの接触を避けていたからです。このロックは、netpollがハード割り込みが既にオフの状態でもndo_start_xmit()を呼び出す可能性があるため、割込み無効状態で取得されます。
Tx DMAマッピングエラーが発生した場合、ロック下でskbを比較するまで送信パスの参照を保持します。これにより、skbアドレスのリユースによって、エラー処理パスが失敗したリクエストに対して新しいタイムスタンプリクエストと誤認することを防ぎます。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.