> On Mar 28, 2025, at 17:59, Robert Raszuk <rob...@raszuk.net> wrote:
> 
> Hi Les,
> 
> > we now have to do an upgrade
> 
> The way I understand Mohamed's suggestion is not to have a static 
> implementation constant, but a configurable limit by an operator. If you 
> prefer the default to be infinity so be it. If this is just a config no 
> upgrade would be necessary. 
> 
> But how do you protect the network from malicious or accidental injection of 
> MP-TLV consisting of 1000s of pieces ? And it seems better to ignore the TLV 
> exceeding such limit as opposed to break entire level. 
> 
> So let's assume there is no limit ... how do you protect from such attack 
> vectors or just bugs especially if what is exceeded is just a link state 
> opaque value simply carried by ISIS for convenience of other upper level apps 
> ? 
> 
> Ideally such a limit would need to be set per each MP capable TLV.

This simply isn't what IS-IS is built for. We don't have defenses against an 
inside attackers.

As far as accidental, IS-IS has a built in limit; there is only so much room in 
an router's LSP. But, more importantly, there's nothing special about multi-tlv 
compared with regular TLVs here.

Thanks,
Chris.

> 
> Thx,
> R.
> 
> 
> On Fri, Mar 28, 2025 at 9:47 PM Les Ginsberg (ginsberg) 
> <ginsberg=40cisco....@dmarc.ietf.org> wrote:
> Med –
>  V13 of the draft has been posted which addresses the logging text and the 
> Security section text.
>  There is then one open issue:
>   > > > # Section 5 (*)
> > > >
> > > > CURRENT:
> > > >    When processing MP-TLVs, implementations MUST NOT impose a
> > > minimum
> > > >    length check.
> > > >
> > > > Agree... however, should we have a max of MP-TLVs to be used as a
> > > > guard for splitting the information into a large numbers of TLVs?
> > >
> > > [LES:] I see no reason to impose a maximum. Any number chosen would be
> > > arbitrary and risks becoming "too small" in the future.
> > 
> > [Med] I'm not asking to pick a random max value, but to have a knob for
> > Operators to control a max based on their local policy. We need some guards
> > here.
> > [LES:] I am not comfortable specifying (or even suggesting) a max value.
> [Med] As I said earlier, I’m not asking for that. The exact value will be up 
> to the taste of the operation. My request here is to give that control.
>  It isn’t needed and I think introduces additional issues.
> [Med] misbehaviors from within networks happen, bugs and misconfiguration 
> happen as well, etc. I still think the guard does not bring any issue, but 
> fix them.
>  The only reason an excessively large number of TLVs for the same object 
> would be sent are:
>  a)They are actually needed because of the amount if information required in 
> a given deployment
> b)The sending implementation has a bug
> c)There is an attacker
>  Regardless of the reason, the receiver has to deal with this. Specifying an 
> arbitrary max isn’t going to help when the need is legitimate - and it 
> obviously won’t help prevent the pathological cases.
> Note that Section 5 (last paragraph) provides guidance on how to deal with 
> duplicated information.
>  [Med] I’m afraid that para does not cover this point.
>  [LES2:] Let’s dig a bit deeper here.
> You propose that each implementation locally choose a maximum value for the 
> number of MP-TLVs it supports for a given object.
> Suppose that Node A chooses “2” and Node B chooses “3”.
> Both of them receive advertisements which have 3 MP-TLVs for a given object. 
> What will happen?
> Node A will use 2 of the TLVs – Node B will use all 3 of the TLVs.
> Which means we are in an equivalent situation to having a node which doesn’t 
> support MP-TLVs at all in the network.
> And  we are vulnerable to the same problems – forwarding loops/black holes.
>  One way of dealing with this would be to specify a global maximum instead of 
> leaving it to individual nodes to choose a maximum.
> But this means if the number proves too small over time, we now have to do an 
> upgrade and get all nodes to support a larger number.
>  And even with a consistent maximum, receivers still have to deal with what 
> ever they receive i.e., nodes cannot simply ignore the additional TLVs. Even 
> if they don’t actively use the information in those TLVs they have to track 
> all of the TLVs associated with a given object so that they become aware when 
> that number falls into the acceptable range – noting that you don’t know 
> which of the TLVs may be withdrawn in the next update.
>  I appreciate the concern that you have – but imposing a limit isn’t going to 
> help – it is only going to create additional problems.
>      Les
>   _______________________________________________
> Lsr mailing list -- lsr@ietf.org
> To unsubscribe send an email to lsr-le...@ietf.org

_______________________________________________
Lsr mailing list -- lsr@ietf.org
To unsubscribe send an email to lsr-le...@ietf.org

Reply via email to