Re: [PATCH] pppoe: Missed check for destination addr in PADT frame processing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/15/10, James Carlson <carlsonj@xxxxxxxxxxxxxxx> wrote:
> There's a known flaw in the way PPPoE assigns session ID numbers.
> Instead of assigning a separate session number for each direction (as is
> done with most competent tunneling protocols), PPPoE uses a single
> session number that's assigned by the server.
>
> This raises a problem.  If you have a single client talking to two or
> more servers, there's no guarantee at all that the session IDs assigned
> by those servers will be distinct.  If they're not, then the client must
> match on MAC address.
>
> Is this the problem you're running into?  Are you talking to two
> different servers?

No. Customer, who reports problem, use linux-based router with our
firmware - http://wl500g.googlecode.com to access internet resources
and pppd on it establish PPPoE session with ISP. i.e. there were only
one session from client.

One qualified user("good") of this ISP give us advice about not-unique
session_id. After blocking aliens MAC's and inserting debug printk
into pppoe_disc_rcv(), we got output:

PADT h_source=00:11:95:fc:83:f3 h_dest: 00:0e:08:2f:da:c5 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:14:85:03:da:49 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: e0:cb:4e:37:09:66 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:26:5a:32:68:36 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:14:85:03:da:49 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:11:95:fc:83:f3 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:24:54:2a:14:d7 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:14:85:03:da:49 session_id: 1
PADT h_source=00:11:95:fc:83:f3 h_dest: 00:26:5a:32:68:36 session_id: 1

where only one MAC e0:cb:4e:37:09:66 belongs to our client router.
Seems to be that ISP has flat (badly segmented) network with buggy
hardware which can't provide uniqueness of session_id.

Further investigation shows that both user-space rp-pppoe & M$ windows
checks destination address in PADT frames.

After fixing problem in our firmware, I decided to push patch into
pppoe driver mainstream to add extra foolproof.

Thank you for detailed explanation!

Regards,
   Leonid
--
To unsubscribe from this list: send the line "unsubscribe linux-ppp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Audio Users]     [Linux for Hams]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Fedora Users]

  Powered by Linux