Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

pppoe: Lacks DST MAC address check

A pppoe session is identified by its session ID and MAC address.
Currently pppoe does not check if the received pkg has the correct
MAC address. This is a problem when the eth I/F is in promisc mode
as then any DST MAC address is accepted.

Signed-off-by: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Joakim Tjernlund and committed by
David S. Miller
a068833b 2ab95749

+3
+3
drivers/net/ppp/pppoe.c
··· 380 380 * can't change. 381 381 */ 382 382 383 + if (skb->pkt_type == PACKET_OTHERHOST) 384 + goto abort_kfree; 385 + 383 386 if (sk->sk_state & PPPOX_BOUND) { 384 387 ppp_input(&po->chan, skb); 385 388 } else if (sk->sk_state & PPPOX_RELAY) {