CVE-2022-49889 in Linux情報

要約

〜によって VulDB • 2026年06月10日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

ring-buffer: ring_buffer_wake_waiters() 内でNULLのcpu_bufferをチェックする

一部のマシンでは、リストされているCPU数が実際に存在するCPU数よりも大きくなることがあります。トレースサブシステムは、per_cpuディレクトリを割り当てており、これにより cpuX ファイルを通じて per CPUリングバッファにアクセスできます。しかし、スペースを節約するため、リングバッファは nr_cpu_ids と同じ大きさのCPU配列を持つにもかかわらず、オンライン状態にあるCPUに対してのみバッファを割り当てるようになっています。

ファイルクローズ時にリングバッファ上の待機者をウェイクアップする機能が追加されたことにより、ring_buffer_wake_waiters() 関数は、待機者をウェイクアップしようとする前に、バッファ(およびそれと同時に割り当てられる irq_work)が確実に割り当てられていることを確認する必要があります。そうしないと、NULLポインタのデリファレンスが発生します。

この問題をデバッグする際、私はバッファ自体に対するNULLチェックを追加しました(これは問題ありません)。また、buffer->buffers に対してもNULLポインタチェックを行いましたが(これは適切ではなく、WARNを発生させます)、さらに渡されたCPU番号が nr_cpu_ids の範囲内にあることを確認しましたが(これも範囲外であれば適切ではありません)。

Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=1204705

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

責任者

Linux

予約する

2025年05月01日

モデレーション

承諾済み

エントリ

VDB-306940

EPSS

0.00164

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!