Re: [PATCH 1/4] smb: client: fix parsing of SMB3.1.1 POSIX create context

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



merged this 4 patch series into cifs-2.6.git for-next pending
additional review and testing


On Thu, Jan 18, 2024 at 10:08 PM Paulo Alcantara <pc@xxxxxxxxxxxxx> wrote:
>
> The data offset for the SMB3.1.1 POSIX create context will always be
> 8-byte aligned so having the check 'noff + nlen >= doff' in
> smb2_parse_contexts() is wrong as it will lead to -EINVAL because noff
> + nlen == doff.
>
> Fix the sanity check to correctly handle aligned create context data.
>
> Fixes: af1689a9b770 ("smb: client: fix potential OOBs in smb2_parse_contexts()")
> Signed-off-by: Paulo Alcantara <pc@xxxxxxxxxxxxx>
> ---
>  fs/smb/client/smb2pdu.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/smb/client/smb2pdu.c b/fs/smb/client/smb2pdu.c
> index 44abd4deb9eb..288199f0b987 100644
> --- a/fs/smb/client/smb2pdu.c
> +++ b/fs/smb/client/smb2pdu.c
> @@ -2308,7 +2308,7 @@ int smb2_parse_contexts(struct TCP_Server_Info *server,
>
>                 noff = le16_to_cpu(cc->NameOffset);
>                 nlen = le16_to_cpu(cc->NameLength);
> -               if (noff + nlen >= doff)
> +               if (noff + nlen > doff)
>                         return -EINVAL;
>
>                 name = (char *)cc + noff;
> --
> 2.43.0
>


-- 
Thanks,

Steve





[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux