Re: [ 083/143] net: clamp ->msg_namelen instead of returning an error

From: Willy Tarreau
Date: Wed May 14 2014 - 08:27:34 EST


Hi Dan,

On Wed, May 14, 2014 at 01:02:15PM +0300, Dan Carpenter wrote:
> On Mon, May 12, 2014 at 02:33:23AM +0200, Willy Tarreau wrote:
> > 2.6.32-longterm review patch. If anyone has any objections, please let me know.
> >
> > ------------------
> >
> > From: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> >
> > [ Upstream commit db31c55a6fb245fdbb752a2ca4aefec89afabb06 ]
> >
> > If kmsg->msg_namelen > sizeof(struct sockaddr_storage) then in the
> > original code that would lead to memory corruption in the kernel if you
> > had audit configured. If you didn't have audit configured it was
> > harmless.
> >
> > There are some programs such as beta versions of Ruby which use too
> > large of a buffer and returning an error code breaks them. We should
> > clamp the ->msg_namelen value instead.
> >
> > Fixes: 1661bf364ae9 ("net: heap overflow in __audit_sockaddr()")
>
> You should probably take dbb490b96584 ('net: socket: error on a negative
> msg_namelen') as well. LTP has a test that passes negative values to
> this code and expects an error return so my clamp patch breaks LTP.

It happens that we already have it (127/143), but thank you for
checking, I really appreciate it.

Willy

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/