[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20200116140857.ak3f744ewnlxdwfq@salvia>
Date: Thu, 16 Jan 2020 15:08:57 +0100
From: Pablo Neira Ayuso <pablo@...filter.org>
To: Eyal Birger <eyal.birger@...il.com>
Cc: kadlec@...filter.org, fw@...len.de, davem@...emloft.net,
netfilter-devel@...r.kernel.org, coreteam@...filter.org,
netdev@...r.kernel.org, Shmulik Ladkani <shmulik.ladkani@...il.com>
Subject: Re: [net,v2] netfilter: nat: fix ICMP header corruption on ICMP
errors
On Tue, Jan 14, 2020 at 10:03:50AM +0200, Eyal Birger wrote:
> Commit 8303b7e8f018 ("netfilter: nat: fix spurious connection timeouts")
> made nf_nat_icmp_reply_translation() use icmp_manip_pkt() as the l4
> manipulation function for the outer packet on ICMP errors.
>
> However, icmp_manip_pkt() assumes the packet has an 'id' field which
> is not correct for all types of ICMP messages.
>
> This is not correct for ICMP error packets, and leads to bogus bytes
> being written the ICMP header, which can be wrongfully regarded as
> 'length' bytes by RFC 4884 compliant receivers.
>
> Fix by assigning the 'id' field only for ICMP messages that have this
> semantic.
Applied, thanks.
Powered by blists - more mailing lists