Re: KASAN: stack-out-of-bounds Read in xfrm_selector_match (2)
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2020-09-24 07:44:01
Also in:
lkml
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2020-09-24 07:44:01
Also in:
lkml
On Thu, Sep 24, 2020 at 09:40:26AM +0200, Steffen Klassert wrote:
This is yet another ipv4 mapped ipv6 address with IPsec socket policy combination bug, and I'm sure it is not the last one. We could fix this one by adding another check to match the address family of the policy and the SA selector, but maybe it is better to think about how this should work at all. We can have only one socket policy for each direction and that policy accepts either ipv4 or ipv6. We treat this ipv4 mapped ipv6 address as ipv4 and pass it down the ipv4 stack, so this dual usage will not work with a socket policy. Maybe we can require IPV6_V6ONLY for sockets with policy attached. Thoughts?
I'm looking at the history of this and it used to work at the start because you'd always interpret the flow object with a family. This appears to have been lost with 8444cf712c5f71845cba9dc30d8f530ff0d5ff83. I'm working on a fix. Cheers, -- Email: Herbert Xu [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt