[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20110601.210359.2079286191194442010.davem@davemloft.net>
Date: Wed, 01 Jun 2011 21:03:59 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: meissner@...e.de
Cc: netdev@...r.kernel.org, max@...e.de
Subject: Re: Bad behaviour when unintentionally mixing ipv4 and ipv6
addresses
From: Marcus Meissner <meissner@...e.de>
Date: Wed, 25 May 2011 17:59:18 +0200
> @@ -465,6 +465,9 @@ int inet_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
> if (addr_len < sizeof(struct sockaddr_in))
> goto out;
>
> + if (addr->sin_family != AF_INET)
> + goto out;
> +
> chk_addr_ret = inet_addr_type(sock_net(sk), addr->sin_addr.s_addr);
Since we haven't been validating the sin_family field for 18+ years, the
chance to break some applications is very real.
But I think it's more important to fix this (and force any broken apps
to set sin_family correctly). So I will apply this, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists