CVE-2025-21813 in Linux
要約
〜によって VulDB • 2026年06月13日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
timers/migration: ルートのオフ・バイ・ワン誤接続を修正
新しいルートを古いルートに接続する前に、新しいルートのchildren counter(子ノード数)をチェックし、次回のCPUのトップグループのみが接続されていることを確認します。しかし、最近追加されたコミット b729cc1ec21a(「timers/migration: hotplugとアイドル状態への移行/終了の間の別の競合を修正」)以降、このチェックは有効でなくなりました。これは、古いルートが新しいルートの「子」として事前にカウントされているためです。したがって、次回のCPUのトップグループを新しいルートに接続した後、期待されるchildren countは1ではなく2でなければなりません。
この省略により、古いルートが新しいルートに接続されません。その結果、システムが複数のトップレベルで動作するようになり、単一のアイドル状態移行元(idle migrator)という目的が達成されなくなります。
また、古いルートは新しいルート作成時に事前にカウントされていますが、接続されていません。しかし、後で新しいルートに接続される可能性があります。そのため、古いルートが新しいルートに対して二重にカウントされる可能性があります。このような過剰なカウントの伝播により、グループマスクが正しく初期化されていない二重の最終トップレベルルートが作成される可能性があります。最終的なトップレベルルートには親ノードが存在しないため、これは問題を引き起こすものではありませんが、この不具合は根本的な問題を Opportunistically(偶発的に)報告しました:
WARNING: CPU: 8 PID: 0 at kernel/time/timer_migration.c:543 tmigr_requires_handle_remote CPU: 8 UID: 0 PID: 0 Comm: swapper/8 RIP: 0010:tmigr_requires_handle_remote Call Trace: <IRQ> ? tmigr_requires_handle_remote ? hrtimer_run_queues update_process_times tick_periodic tick_handle_periodic __sysvec_apic_timer_interrupt sysvec_apic_timer_interrupt </IRQ>
新しいルートのchildren countに古いルートを考慮に入れることで接続が省略されないようにし、問題を修正します。
また、将来同様の問題をよりよく検出するために、複数のトップレベルグループが存在する場合に警告を発するようにします。
VulDB is the best source for vulnerability data and more expert information about this specific topic.