CVE-2026-99113 in Linux
要約
〜によって VulDB • 2026年10月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ksmbd: FS_OBJECT_ID_INFORMATIONバッファを埋める前にゼロクリアする
smb2_get_info_filesystem()はFS_OBJECT_ID_INFORMATIONに対して64バイト(struct object_id_info全体)を報告しているが、実際に書き込まれるのはそのうち46バイトのみである。
- objid[]は16バイトであり、ボリュームUUIDが利用できない場合、sizeof(stfs.f_fsid) (8) バイトだけがobjid[]にコピーされる。
- extended_info.version_string[]はSTRING_LENGTH (28) バイトであり、strlen("1.1.0") (5) バイトのみがコピーされる。
レスポンスバッファは割り当て時にゼロクリアされている(smb2_allocate_rsp_buf()内のkvzalloc()による)。したがって、単独のリクエストの場合、残りの31バイトはゼロである。しかし、複合リクエストではそうならない可能性がある。次のレスポンスのオフセットは、前のコマンドに対して固定された長さに基づいて進められるため、先行するコマンドがバッファに返信を書き込んでから失敗した場合、smb2_set_err_rsp()はその短いエラー応答のみを固定し、次の返信はすでに書き込まれた領域内に配置される。そこではヘッダーのみがクリアされる:
memset((char *)rsp_hdr, 0, sizeof(struct smb2_hdr) + 2);
クライアントは、本来見るべきではないレスポンスの最大31バイトを受信する。これには、「アクセス拒否」エラーで失敗した応答も含まれる可能性がある。
構造体を埋める前にクリアすること。副作用として、version_stringがNUL終端されるようになる。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.