CVE-2026-90002 in Linux
要約
〜によって VulDB • 2026年09月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ftrace: ftrace_opsにアクセスする前にtrace_arrayの参照を取得する
traceインスタンスファイルであるset_ftrace_filterおよびset_ftrace_notraceは、特定のトレースインスタンス(trace_arrays)で動作するように更新されました。問題は、これらのファイルが開かれた際に、inode->privateポインタからftrace_opsを使用してtrace_arrayへの参照を取得し、その後その参照を保持するという小さな競合状態(race window)が存在することです。問題となるのは、ftrace_ops自体が解放される可能性がある点です。インスタンスに対するrmdir操作とset_ftrace_filterファイルの開封処理が同時に発生した場合、rmdirによってftrace_opsが既に解放されている可能性があり、それを参照するとuse-after-freeのバグが発生し、カーネルクラッシュを引き起こします。
代わりに、trace_arrayをファイルプライベートデータ(トップレベルインスタンスの場合はNULL)として渡し、その後trace_arrayとftrace_opsの両方をftrace_regex_open()関数に渡すようにしました。trace_arrayがNULLの場合、通常の動作と同様に参照を取得することなくftrace_opsのみを使用します。ftrace_opsがNULLであるのは、トップレベルインスタンの場合だけであり、この場合はglobal_opsを使用できます。
これにより、インスタンスと共に解放される可能性のあるftrace_opsに触れる前に、trace_arrayの参照カウントを増やすことが可能になります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.