[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2580e9d1-ce94-c416-63fe-52ed50f0e445@6wind.com>
Date: Mon, 16 May 2022 10:09:23 +0200
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Eyal Birger <eyal.birger@...il.com>, davem@...emloft.net,
yoshfuji@...ux-ipv6.org, dsahern@...nel.org, edumazet@...gle.com,
kuba@...nel.org, pabeni@...hat.com, steffen.klassert@...unet.com,
herbert@...dor.apana.org.au
Cc: netdev@...r.kernel.org, Shmulik Ladkani <shmulik.ladkani@...il.com>
Subject: Re: [PATCH ipsec,v2] xfrm: fix "disable_policy" flag use when
arriving from different devices
Le 13/05/2022 à 22:34, Eyal Birger a écrit :
> In IPv4 setting the "disable_policy" flag on a device means no policy
> should be enforced for traffic originating from the device. This was
> implemented by seting the DST_NOPOLICY flag in the dst based on the
> originating device.
>
> However, dsts are cached in nexthops regardless of the originating
> devices, in which case, the DST_NOPOLICY flag value may be incorrect.
>
> Consider the following setup:
>
> +------------------------------+
> | ROUTER |
> +-------------+ | +-----------------+ |
> | ipsec src |----|-|ipsec0 | |
> +-------------+ | |disable_policy=0 | +----+ |
> | +-----------------+ |eth1|-|-----
> +-------------+ | +-----------------+ +----+ |
> | noipsec src |----|-|eth0 | |
> +-------------+ | |disable_policy=1 | |
> | +-----------------+ |
> +------------------------------+
>
> Where ROUTER has a default route towards eth1.
>
> dst entries for traffic arriving from eth0 would have DST_NOPOLICY
> and would be cached and therefore can be reused by traffic originating
> from ipsec0, skipping policy check.
>
> Fix by setting a IPSKB_NOPOLICY flag in IPCB and observing it instead
> of the DST in IN/FWD IPv4 policy checks.
>
> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
> Reported-by: Shmulik Ladkani <shmulik.ladkani@...il.com>
> Signed-off-by: Eyal Birger <eyal.birger@...il.com>
Reviewed-by: Nicolas Dichtel <nicolas.dichtel@...nd.com>
Powered by blists - more mailing lists