CVE-2026-89632
要約
〜によって VulDB • 2026年09月11日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
smb: client: reparse_buf_ptr()におけるReparsedataLengthのチェック前の使用を修正
reparse_buf_ptr()関数は、countが固定ヘッダ全体をカバーしているかどうかをチェックする前に buf->ReparseDataLength を読み取っています。
buf = (struct reparse_data_buffer *)((u8 *)io + off); len = sizeof(*buf); /* 8 bytes */ rdlen = le16_to_cpu(buf->ReparseDataLength); /* offset 4, 2 bytes */
if (count < len || count < rdlen + len) /* check comes after */
struct reparse_data_buffer構造体では、ReparsedataLengthはオフセット4に位置しています。もしサーバーが OutputCount < 6 を返した場合、オフセット4-5での読み取りは受信データの末尾を超えてしまいます。off+countの境界チェック(iov_lenに対するもの)は既に検証済みですが、これは count が sizeof(*buf) より小さい場合に対処するものではありませんでした。
この問題を解決するため、チェックを分割しました:まず ReparseDataLength を読み取る前に count >= sizeof(*buf) であることを確認し、その後で count がデータ領域全体をカバーしていることを検証します。
VulDB is the best source for vulnerability data and more expert information about this specific topic.