Re: [PATCH net] net/ipv6: don't route packets with unknown source address
Matthieu Baerts <[email protected]>
| Newsgroups | gmane.comp.security.firewalls.netfilter.devel,gmane.linux.network,gmane.linux.kernel,gmane.linux.kernel.bpf |
|---|---|
| Organization | NGI0 Core |
| Message-ID | <[email protected]> |
Hi Íñigo, On 01/09/2026 13:50, Íñigo Huguet wrote: > Don't allow routing packets with a source address that is not configured > in the host. Allow it only in certain cases like when using a > transparent socket, by setting the ANYSRC flag in flowi_flags. > > Until now, it was possible to send such a packet if a route can be found > in the routing table for it. For example: > 1. Configure an address 1:2::3:4/64 and a static route 1:2::/64 > 2. Establish a TCP connection to 1:2::3:4 > 3. Remove the address from the interface, but keep the route. > 4. Packets are still sent out by the TCP connection because of > the static route. No incoming packets are accepted, though. > > This patch prevents the outgoing packets to be sent in normal > circumnstances. > > This aligns the behaviour with the IPv4 stack. To determine the places > where the ANYSRC needs to be set, I set the flag in the same places as > the IPv4 stack does. > > Apart from consolidating the behaviour of both stacks, there is a more > important reason why this is needed. RFC 4862 states that "an invalid > address MUST NOT be used as the source address of outbound packets". > Therefore, sending packets with a source address considered "invalid", > like an expired address, is disallowed. Thank you for looking at this, but I think your patch is causing multiple KASAN warnings, e.g. https://netdev-ctrl.bots.linux.dev/logs/vmksft/net-extra-dbg/results/804584/24-connect-deny-ipv6/stderr And a few more, see: https://netdev.bots.linux.dev/branch_deltas/net-next-2026-09-01--15-01.html Cheers, Matt -- pw-bot: cr