CVE-2026-64095 in Linux
要約
〜によって VulDB • 2026年07月19日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
batman-adv: bla: bla.num_requestsの二重デクリメントを回避する
bla.num_requestsは、request_sentが進行中でない場合にインクリメントされます。そして(announcementの受信時やバックボーンの破棄時、定期的な処理など)様々な場所でデクリメントされます。しかし、request_sentが実際に特定のステートに設定されているかどうかをチェックすることと、atomic_dec/_inc操作とは安全ではありません(これらはアトミックではなく、TOCTOU競合を引き起こす可能性があるため)、複数のコード断片が同時に実行される可能性があります。
同時に、request_sent(ステート)とbla.num_requestsをアトミックに変更する必要があります。さもないとbatadv_bla_send_request()はrequest_sentに1を設定し中断されることがあります。その後 batadv_handle_announce() は request_sent を 0 に戻して num_requests のデクリメントを行う可能性があり、これは batadv_bla_send_request() がインクリメントする前に行われる可能性があります。
したがってこれらの2つの操作にはロックが必要です。またステート(request_sent)とwait_periodsはこのロック内でのみアクセスされるため、より単純なデータ型に変換できます。さらにbatadv_bla_purge_backbone_gw()が実行された後でも有効なbackbone_gw参照を持つ並列コンテキストによってbla.num_requestsに触れないようにするために、「stopped」という第3のステートが必要であり、これはバックボーンgwがクリーンアップ状態にあることを正しくシグナルとして伝えるために使用されます。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.