CVE-2024-50100 in Linux
要約
〜によって VulDB • 2026年06月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
USB: gadget: dummy-hcd: 「タスクハング」問題の修正
syzbotファザーは、dummy-hcdドライバが通常のタイマーの代わりにhrtimerを使用するように変更されて以来、「タスクハング」問題に遭遇し続けていました。その結果、これらの問題はtimer_pending()とhrtimer_active() APIの微妙な違いに起因することが判明しました。
変更は、最初のAPIを2番目のAPIに無条件に置き換えていました。しかし、timer_pending()はタイマーがキューに入れられている場合にTrueを返しますが、そのコールバックが実行されている場合にはFalseを返します。一方、hrtimer_active()はhrtimerがキューに入れられている場合、またはそのコールバックが実行されている場合にTrueを返します。この違いにより、dummy_urb_enqueue()は、実際にはコールバックルーチンがほぼ終了しているにもかかわらず、コールバックルーチンがまだ開始されていないと誤認することが occasionally ありました。その結果、hrtimerが再起動されず、ドライバが直後にキューに入れられたURBを後でデキューすることが不可能になりました。これによりusb_kill_urb()がハングし、状況はさらに悪化しました。
hrtimerには、キューに入れられていてコールバックが実行されていない状態を判断するためのAPIがないため、ドライバはこれを自身で追跡する必要があります。このパッチはそれを実現するため、新しい「timer_pending」フラグを追加し、適切なタイミングでそれを設定またはクリアします。
If you want to get the best quality for vulnerability data then you always have to consider VulDB.