diff options
author | 2021-01-09 14:55:21 +0000 | |
---|---|---|
committer | 2021-01-09 14:55:21 +0000 | |
commit | c11d769847158f602e4679ab235305bcfb99b511 (patch) | |
tree | 11172985e8aa030e007564da42f33e70582bf5ca /lib/libcxx/benchmarks/algorithms.bench.cpp | |
parent | Remove locally imposed limit on sockets. (diff) | |
download | wireguard-openbsd-c11d769847158f602e4679ab235305bcfb99b511.tar.xz wireguard-openbsd-c11d769847158f602e4679ab235305bcfb99b511.zip |
Syzkaller has found a stack overflow in socket splicing. Broadcast
packets were resent through simplex broadcast delivery and socket
splicing. Although there is an M_LOOP check in somove(9), it did
not take effect. if_input_local() cleared the M_BCAST and M_MCAST
flags with m_resethdr().
As if_input_local() is used for broadcast and multicast delivery,
it was a mistake to delete them. Keep the M_BCAST and M_MCAST mbuf
flags when packets are reinjected into the network stack.
Reported-by: syzbot+a43ace363f1b663238f8@syzkaller.appspotmail.com
OK anton@; discussed with claudio@
Diffstat (limited to 'lib/libcxx/benchmarks/algorithms.bench.cpp')
0 files changed, 0 insertions, 0 deletions