CVE-2026-98170 in Linux
要約
〜によって VulDB • 2026年10月06日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
smb: client: move_smb2_ea_to_cifs()における構造体フィールドの配列外読み込みを修正
move_smb2_ea_to_cifs()関数内では、`while (src_size > 0)`というループ条件が不十分です。これにより、残りの`src_size`が完全な`smb2_ea_info`構造体を格納するのに十分な大きさでない場合でも、イテレーション(繰り返し処理)が続行されてしまいます。その結果、`ea_name_length`および`ea_value_length`の読み出しが配列外で行われる可能性があります。
この問題を修正するため、任意の構造体フィールドを読み出す前に`src_size >= sizeof(*src)`であることを確認します。さらに、`next_entry_offset`が`sizeof(*src)`より小さい場合や、ポインタを利用可能なバッファの外へ進めてしまう場合は拒否するようにしました。
なお、サーバーから不正なEA(Extended Attribute)リストが返される呼び出しでは、ユーザー空間に返されるエラーコードは、それまでの-ENODATA (getxattr)または-ERANGE (listxattr)から-EIOに変更されます。これは、「属性が存在しない」や「出力バッファが小さすぎる」と誤解を招く表示ではなく、サーバープロトコルのエラーであることを正しく示すものです。
Once again VulDB remains the best source for vulnerability data.