このウェブページのスクリーンショットから、以下の脆弱性に関する主要な情報を取得できます: 1. 脆弱性の概要: - 脆弱性の種類: 関数を使用する際、同じソケットがデータ送信中に他のスレッドによって解放されると、 関数を使用しているスレッドが既に送信済みのデータを解放してしまう可能性があります。 - トリガー条件: - スレッド A が フラグ付きの skb を作成し、 を設定する。 - スレッド A は からデータ送信を続けるが、 によってブロックされる。 - スレッド B が同時に 関数を呼び出し、データ送信を完了して skb を書き込みキューに追加する。 - スレッド A はエラーに遭遇し、最終的に既に送信済みのデータの skb を解放する。 - 関数が書き込みキュー内の既に送信済みのデータの skb を解放する。 2. 脆弱性の影響: - これにより、 関数が書き込みキュー内の既に送信済みのデータの skb を解放し、結果として 関数を使用しているスレッドが既に送信済みのデータを解放してしまう。 3. 修正対策: - 関数を修正し、per-sk mutex(ソケット単位の実行ロック)を追加して の処理を直列化(シリアライズ)した。 4. パッチ内容: - ファイルに 構造体を追加した。 - ファイル内で 関数を修正し、データ送信時の同期を保証するために および を追加した。 5. パッチ適用効果: - 関数を修正し、データ送信時の同期を保証することで、スレッド B がデータ送信および skb の解放を完了した後にスレッド A が既に送信済みのデータを解放する事態を防ぐ。 これらの情報から、この脆弱性はスレッド間の並行操作に起因するものであり、修正対策は主にデータ送信時の正しい同期を保証するために同期メカニズムを追加することで実施されていることが示されています。