Re: [PATCH 5.10 018/145] net: dcb: Validate netlink message in DCB handler

From: Greg Kroah-Hartman
Date: Mon Jan 11 2021 - 14:59:14 EST


On Mon, Jan 11, 2021 at 09:36:16AM -0800, Jakub Kicinski wrote:
> On Mon, 11 Jan 2021 14:00:42 +0100 Greg Kroah-Hartman wrote:
> > From: Petr Machata <me@xxxxxxxxxxxx>
> >
> > [ Upstream commit 826f328e2b7e8854dd42ea44e6519cd75018e7b1 ]
> >
> > DCB uses the same handler function for both RTM_GETDCB and RTM_SETDCB
> > messages. dcb_doit() bounces RTM_SETDCB mesasges if the user does not have
> > the CAP_NET_ADMIN capability.
> >
> > However, the operation to be performed is not decided from the DCB message
> > type, but from the DCB command. Thus DCB_CMD_*_GET commands are used for
> > reading DCB objects, the corresponding SET and DEL commands are used for
> > manipulation.
> >
> > The assumption is that set-like commands will be sent via an RTM_SETDCB
> > message, and get-like ones via RTM_GETDCB. However, this assumption is not
> > enforced.
> >
> > It is therefore possible to manipulate DCB objects without CAP_NET_ADMIN
> > capability by sending the corresponding command in an RTM_GETDCB message.
> > That is a bug. Fix it by validating the type of the request message against
> > the type used for the response.
> >
> > Fixes: 2f90b8657ec9 ("ixgbe: this patch adds support for DCB to the kernel and ixgbe driver")
> > Signed-off-by: Petr Machata <me@xxxxxxxxxxxx>
> > Link: https://lore.kernel.org/r/a2a9b88418f3a58ef211b718f2970128ef9e3793.1608673640.git.me@xxxxxxxxxxxx
> > Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>
> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
>
> Unfortunately we need to call backsies on this one.
>
> A fix up was just posted:
>
> https://patchwork.kernel.org/project/netdevbpf/patch/a3edcfda0825f2aa2591801c5232f2bbf2d8a554.1610384801.git.me@xxxxxxxxxxxx/
>
> I'll resend both in the next submission.

No worries, thanks for letting me know, I've now dropped it from all
stable tree queues.

thanks,

greg k-h