Thread (44 messages) 44 messages, 4 authors, 2019-02-25

Re: Kernel memory corruption in CIPSO labeled TCP packets processing.

From: Paul Moore <paul@paul-moore.com>
Date: 2019-01-29 22:50:41
Also in: linux-security-module, selinux

On Tue, Jan 29, 2019 at 2:23 AM Nazarov Sergey [off-list ref] wrote:
29.01.2019, 01:18, "Paul Moore" [off-list ref]:
quoted
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?
I mean, in cipso_v4_error we copy option data from skb before ip_options_compile call:
+       memcpy(opt->__data, (unsigned char *)&(ip_hdr(skb)[1]), opt->optlen);
But skb IP header data could be already changed by first call of ip_options_compile
when packet received.
There are several cases where the stack ends up calling icmp_send()
after the skb has been through ip_options_compile(), that should be
okay.

-- 
paul moore
www.paul-moore.com
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help