LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: [PATCH v2 net] ipvs: prevent integer overflow in do_ip_vs_get_ctl()

To: Julian Anastasov <ja@xxxxxx>
Subject: Re: [PATCH v2 net] ipvs: prevent integer overflow in do_ip_vs_get_ctl()
Cc: Dan Carpenter <dan.carpenter@xxxxxxxxxx>, "Gustavo A. R. Silva" <gustavo@xxxxxxxxxxxxxx>, Simon Horman <horms@xxxxxxxxxxxx>, Jozsef Kadlecsik <kadlec@xxxxxxxxxxxxx>, "David S. Miller" <davem@xxxxxxxxxxxxx>, Eric Dumazet <edumazet@xxxxxxxxxx>, Jakub Kicinski <kuba@xxxxxxxxxx>, Paolo Abeni <pabeni@xxxxxxxxxx>, netdev@xxxxxxxxxxxxxxx, lvs-devel@xxxxxxxxxxxxxxx, netfilter-devel@xxxxxxxxxxxxxxx, coreteam@xxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, kernel-janitors@xxxxxxxxxxxxxxx
From: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
Date: Wed, 12 Mar 2025 15:48:44 +0100
On Tue, Mar 11, 2025 at 07:50:44PM +0200, Julian Anastasov wrote:
> 
>       Hello,
> 
> On Mon, 10 Mar 2025, Dan Carpenter wrote:
> 
> > The get->num_services variable is an unsigned int which is controlled by
> > the user.  The struct_size() function ensures that the size calculation
> > does not overflow an unsigned long, however, we are saving the result to
> > an int so the calculation can overflow.
> > 
> > Both "len" and "get->num_services" come from the user.  This check is
> > just a sanity check to help the user and ensure they are using the API
> > correctly.  An integer overflow here is not a big deal.  This has no
> > security impact.
> > 
> > Save the result from struct_size() type size_t to fix this integer
> > overflow bug.
> > 
> > Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> 
>       Looks good to me, thanks!
> 
> Acked-by: Julian Anastasov <ja@xxxxxx>
> 
>       Pablo, you can apply it to the nf tree.

Done, thanks Julian.


<Prev in Thread] Current Thread [Next in Thread>