• Dmitry Safonov's avatar
    net/tcp: Don't add key with non-matching VRF on connected sockets · 12083d72
    Dmitry Safonov authored
    If the connection was established, don't allow adding TCP-AO keys that
    don't match the peer. Currently, there are checks for ip-address
    matching, but L3 index check is missing. Add it to restrict userspace
    shooting itself somewhere.
    
    Yet, nothing restricts the CAP_NET_RAW user from trying to shoot
    themselves by performing setsockopt(SO_BINDTODEVICE) or
    setsockopt(SO_BINDTOIFINDEX) over an established TCP-AO connection.
    So, this is just "minimum effort" to potentially save someone's
    debugging time, rather than a full restriction on doing weird things.
    
    Fixes: 248411b8 ("net/tcp: Wire up l3index to TCP-AO")
    Signed-off-by: default avatarDmitry Safonov <dima@arista.com>
    Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    12083d72
tcp_ao.c 63.6 KB