このウェブページのスクリーンショットから、脆弱性に関する以下の主要な情報を取得できます。 1. 脆弱性の説明: - 脆弱性の種類:UAF(Use After Free)。 - トリガー条件: 関数において、あるスレッドが タイプの を構築している最中に、別スレッドが 関数内でブロックされると、 が解放されるものの、 は依然として書き込みキューに残ったままになります。スレッドAが を解放しようとした際、それを再度使用しようとしてUAFが発生します。 2. トリガーシナリオ: 1. スレッドAが を構築し、 を設定する。 2. スレッドAは 関数内でブロックされる。 3. スレッドBが を呼び出し、 の構築を完了させて書き込みキューに投入する。 4. スレッドAはエラーを処理し を解放するが、 はすでに書き込みキューにある。 5. 関数は、すでに解放された を再度使用しようとする。 3. 修正対策: - (ソケットごとの)ミューテックスを追加し、 の処理を直列化(シリアライズ)しました。 4. パッチ内容: - ファイル内の 構造体を変更し、 フィールドを追加しました。 - ファイル内の 関数を変更し、 に対するミューテックス操作を追加しました。 5. パッチの適用: - におけるUAF問題を修正しました。 - 脆弱性レポート をクローズしました。 6. パッチの著者: - Kuniyuki Iwashima 。 これらの情報から、この脆弱性は 関数内で書き込みキューに配置済みの が解放され、別スレッドでその が再度使用されることでUAFが発生するものであることがわかります。修正対策としては、ミューテックスを追加することで、 が解放された後に再度使用されないことを保証しています。