Thread (5 messages) flat view 5 messages, 4 authors, 2017-03-10

Re: [PATCH v2] selinux: check for address length in selinux_socket_bind()

From: David Miller <davem@davemloft.net>
Date: 2017-03-09 07:12:14
Also in: lkml, selinux

From: Alexander Potapenko <glider@google.com>
Date: Mon,  6 Mar 2017 19:46:14 +0100
KMSAN (KernelMemorySanitizer, a new error detection tool) reports use of
uninitialized memory in selinux_socket_bind():
 ...
(the line numbers are relative to 4.8-rc6, but the bug persists upstream)

, when I run the following program as root:
 ...
(for different values of |size| other error reports are printed).

This happens because bind() unconditionally copies |size| bytes of
|addr| to the kernel, leaving the rest uninitialized. Then
security_socket_bind() reads the IP address bytes, including the
uninitialized ones, to determine the port, or e.g. pass them further to
sel_netnode_find(), which uses them to calculate a hash.

Signed-off-by: Alexander Potapenko <glider@google.com>
Are the SELINUX folks going to pick this up or should I?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help