Kernel memory corruption in CIPSO labeled TCP packets processing.

Paul Moore paul at paul-moore.com
Mon Jan 28 22:18:41 UTC 2019


On Mon, Jan 28, 2019 at 8:10 AM Nazarov Sergey <s-nazarov at yandex.ru> wrote:
> 25.01.2019, 19:46, "Paul Moore" <paul at paul-moore.com>:
> > Hmm, I think the above calculation should take into account the actual
> > length of the IP options, and not just the max size (calculate it
> > based on iphdr->ihl).
> >
> > Beyond that fix, I think it's time to put together a proper patchset
> > and post it to the lists for formal review/merging.
> >
> > Thanks for your work on this.
> >
> > --
> > paul moore
> > www.paul-moore.com
>
> Where we can take actual IP options length? Sorry, I'm not so familiar with linux network stack.

I'm the one who needs to apologize; you're doing it correctly.  Not
sure what I was thinking there, sorry about that.

> And also, ip_options_compile could change IP options data (SSRR, LSRR, RR, TIMESTAMP options),
> so, we can't use ip_options_compile again for these options. Am I right?

If we don't pass a skb into ip_options_compile(), meaning both "skb"
and "rt" will be NULL, then I don't believe the option data will
change.  Am I missing something?

-- 
paul moore
www.paul-moore.com



More information about the Linux-security-module-archive mailing list