On 17/03/21 15.53, Thadeu Lima de Souza Cascardo wrote: > IFF_POINTOPOINT interfaces use NUD_NOARP entries for IPv6. It's possible to > fill up the neighbour table with enough entries that it will overflow for > valid connections after that. > > This behaviour is more prevalent after commit 58956317c8de ("neighbor: > Improve garbage collection") is applied, as it prevents removal from > entries that are not NUD_FAILED, unless they are more than 5s old. > > Fixes: 58956317c8de (neighbor: Improve garbage collection) > Reported-by: Kasper Dupont <kasp...@gjkwv.06.feb.2021.kasperd.net> > Signed-off-by: Thadeu Lima de Souza Cascardo <casca...@canonical.com> > --- > net/core/neighbour.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/core/neighbour.c b/net/core/neighbour.c > index bbc89c7ffdfd..be5ca411b149 100644 > --- a/net/core/neighbour.c > +++ b/net/core/neighbour.c > @@ -256,6 +256,7 @@ static int neigh_forced_gc(struct neigh_table *tbl) > > write_lock(&n->lock); > if ((n->nud_state == NUD_FAILED) || > + (n->nud_state == NUD_NOARP) || > (tbl->is_multicast && > tbl->is_multicast(n->primary_key)) || > time_after(tref, n->updated)) > -- > 2.27.0 >
Is there any update regarding this change? I noticed this regression when it was used in a DoS attack on one of my servers which I had upgraded from Ubuntu 18.04 to 20.04. I have verified that Ubuntu 18.04 is not subject to this attack and Ubuntu 20.04 is vulnerable. I have also verified that the one-line change which Cascardo has provided fixes the vulnerability on Ubuntu 20.04. Kind regards Kasper