IPsec AH tunneling pakcet mis-handling?
blue
susan.lan at zyxel.com.tw
Mon Mar 24 06:22:23 PDT 2008
Sorry, maybe my words make you confused.
What I meant is "AH tunnel" only, and the code base is FAST_IPSEC, which
is currently IPSEC in FreeBSD-7.0.
BR,
Yi-Wen
Bjoern A. Zeeb wrote:
> On Wed, 1 Aug 2007, blue wrote:
>
> Hi,
>
>
>> Dear all:
>>
>> I do not know the purpose of the following codes in the very
>> beginning in ip6_input():
>>
>> #ifdef IPSEC
>> /*
>> * should the inner packet be considered authentic?
>> * see comment in ah4_input().
>> */
>> if (m) {
>> m->m_flags &= ~M_AUTHIPHDR;
>> m->m_flags &= ~M_AUTHIPDGM;
>> }
>> #endif
>>
>> Consider the case: a packet is encrypted as AH tunneled, and FreeBSD
>> is the end point of the tunnel. After it tore off the outer IPv6
>> header, the mbuf will be inserted to NETISR again. Then ip6_forward()
>> will be called again to process the packet. However, in
>> ipsec6_in_reject(), the packet's source and destination will match
>> the SP entry. Since ip6_input() has truned off the flag M_AUTHIPHDR
>> and M_AUTHIPDGM, the packet will be dropped.
>>
>> I don't think with the codes AH tunnel could work properly.
>
>
> I was pointed at this.
>
> I am a bit unsure about your setup as you are talking about "AH
> tunneled" and "encrypted" while at the end it's "AH tunnel" only.
> So, are you using IPsec tunnel mode with ESP and AH or just AH, or ...?
>
> Can you describe the setup this would be a problem in detail and maybe
> file a PR so this won't be lost again.
>
> We've got other ESP+AH+IPv6 problems pending like PR kern/121373 and I
> could look into both at the same time I guess.
>
> PS: I am assuming this was with (Fast) IPsec, not KAME IPsec
> implementation? The date was too close to the change, so I thought it
> might be better asking;-)
>
> Thanks
> /bz
>
More information about the freebsd-net
mailing list