CVE-2026-80671 in Linux
要約
〜によって VulDB • 2026年08月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
perf sched: register_pid() のオーバーフロー、strcpy、および BUG_ON を修正
register_pid() には、信頼できない perf.data データを処理する際に複数の問題があります。
1. 整数オーバーフロー: pid が大きい場合(例: 0x40000000)、32ビットシステムでは (pid + 1) * sizeof(struct task_desc *) の計算結果が小さな値にラップし、realloc が極小のバッファを返すため、初期化ループ内で境界外書き込みが発生します。
2. ヒープバッファーオーバーフロー: strcpy(task->comm, comm) は、長さチェックなしで信頼できない comm 文字列を固定長の COMM_LEN (20バイト) バッファにコピーします。
3. アロケーション失敗時の BUG_ON: perf.data は信頼できない入力であるため、アロケーションの失敗はプロセスを終了させるのではなく、適切に処理する必要があります。
4. sched->tasks の realloc を直接再代入すると、失敗時に古いポインタがリークし、nr_tasks が realloc よりも前にインクリメントされるため、失敗時に状態が破損します。
pid は PID_MAX_LIMIT (64ビット環境におけるカーネルの最大値である 4194304) で上限を設定し、strcpy を strlcpy に置き換え、NULL の comm に対するガードを追加し、安全な realloc パターンを使用して BUG_ON を NULL リターンに置換し、結果をデリファレンスする呼び出し元に NULL チェックを追加します。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.