CVE-2026-99234 in Linux情報

要約

〜によって VulDB • 2026年11月02日

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

tracing: コマンドが失敗した場合にフィールド変数ヒストグラムを登録解除する

他のイベントのフィールドに名前を付けるアクションでは、そのフィールドを変数として必要とするため、`create_field_var_hist()` はそれを提供するためにそのイベントに対して2番目の hist トリガーを登録し、`target_hist_data->field_var_hists[]` に記録します。

コマンドの後続部分が失敗した場合、`create_actions()` がエラーを返し、`event_hist_trigger_parse()` が `out_free` へジャンプします。書き込みは `-EINVAL` で失敗し、`sched_switch` はトリガーを受け取りませんが:

``` # echo 'hist:keys=pid:ts0=common_timestamp.usecs' >> \ events/sched/sched_waking/trigger # echo 'my_synth u64 lat; int a; int b' >> synthetic_events # echo 'hist:keys=next_pid:wakeup_lat=common_timestamp.usecs-$ts0:\ onmatch(sched.sched_waking).my_synth($wakeup_lat,prio,nosuchfld)'\ >> events/sched/sched_switch/trigger # cat events/sched/sched_waking/trigger hist:keys=pid:vals=hitcount:ts0=common_timestamp.usecs:sort=hitcount:size=2048:clock=global [active]
hist:keys=pid:vals=hitcount:synthetic_prio=prio:sort=hitcount:size=2048 [active]
```

2番目のヒストグラムは 'prio' のために作成されたものです。これはまだアクティブであり、カウントを続けています。

`out_free` は `destroy_field_var_hists()` に到達し、`field_var_hists[]` エントリを解放しますが、トリガーを削除して `event_hist_trigger_free()` からのみ実行される `unregister_field_var_hists()` を呼び出しません。その結果、エントリは解放されますが、トリガーを追跡するものが残らず、手放し状態になります。

`out_free` でもフィールド変数ヒストグラムを登録解除し、ルックアップ後のタイミングではなく、トリガーが登録された直後にそれぞれを記録するようにします。これにより、どの終了パスでも未追跡の登録済みトリガーが残ることがなくなります。エントリは `field_var_hists[]` に属するようになり、`destroy_field_var_hists()` によって解放されるため、その終了パスで解放すると二重解放(double free)となります。

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

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-429918

EPSS

0.00000

アクティビティ

低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!