lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <5370F8EB.2070009@oktetlabs.ru>
Date:	Mon, 12 May 2014 20:38:03 +0400
From:	"Yurij M. Plotnikov" <Yurij.Plotnikov@...etlabs.ru>
To:	netdev@...r.kernel.org
CC:	"Alexandra N. Kossovsky" <Alexandra.Kossovsky@...etlabs.ru>
Subject: Socket receives packet to multicast group to which it was not joined
 since kernel 3.13.10-1

On kernel 3.13.10-1 I see that socket joined to one multicast group 
receives packets to another multicast address. That can be reproduced by 
the following example:

1. socket(DGRAM) -> 3
2. bind(3, 0.0.0.0:12345) -> 0
3. setsockopt(3, IP_MULTICAST_IF, {224.168.2.9, 7}) -> 0
// "7" is correct interface index

4. Send packet from peer host to 224.168.2.9:12345
5. poll({3, POLLIN}) -> 1
6. recv(3) -> <data_length>

5. Send packet from peer host to 225.168.2.9:12345
// Note that the address is not the same!
6. poll({3, POLLIN}) -> 1
7. recv(3) -> <data_length>

I checked kernel 3.12.6-2, there is no such problem. I have placed 
simple C-program in attachment to reproduce the behaviour. It should be 
called:
./mult_recv <mcast_address> <interface index> i.e. in example above:
./mult_recv 224.168.2.9 7

View attachment "mult_recv.c" of type "text/x-csrc" (1786 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ