CVE-2026-46196 in Linux情報

要約

〜によって VulDB • 2026年05月28日

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

tracepoint: tracepoint_add_func() における func_add() 失敗時の regfunc() のアンバランス

tracepoint が 0 から 1 への遷移を経る際、tracepoint_add_func() は、func_add() を介して新しいプローブのインストールを試みる前に、サブシステムの ext->regfunc() を呼び出します。その後、func_add() が失敗した場合(例えば、メモリ逼迫下で allocate_probes() が新しいプローブ配列を割り当てられず、-ENOMEM を返す場合など)、関数はエラーを返しますが、対応する ext->unregfunc() を呼び出しません。その結果、regfunc() の副作用が残ったままになり、それを正当化するインストール済みプローブが存在しなくなります。

システムコールの tracepoint の場合、これは特に問題となります:syscall_regfunc() は、sys_tracepoint_refcount をインクリメントし、すべてのタスクに SYSCALL_TRACEPOINT を設定します。リークした失敗の後、参照カウントは消費者が存在しない状態で非ゼロの値で固定され、すべてのタスクは再起動までシステムコールのトレースエントリ/エクジットのオーバーヘッドを引き続き負担し続けます。regfunc()/unregfunc() ペアを提供する他のサブシステムも、同様の範囲の永続的な状態を示します。

既存の 1 から 0 へのクリーンアップを模倣し、func_add() のエラーパスで ext->unregfunc() を呼び出します。これは、登録時の巻き戻しと対称となるように、そこで使用されるのと同じ条件でガードされます。

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

責任者

Linux

予約する

2026年05月13日

モデレーション

承諾済み

エントリ

VDB-366703

EPSS

0.00024

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!