Skip to content
  • Kevin Cernekee's avatar
    netfilter: xt_osf: Add missing permission checks · 916a2790
    Kevin Cernekee authored
    
    
    The capability check in nfnetlink_rcv() verifies that the caller
    has CAP_NET_ADMIN in the namespace that "owns" the netlink socket.
    However, xt_osf_fingers is shared by all net namespaces on the
    system.  An unprivileged user can create user and net namespaces
    in which he holds CAP_NET_ADMIN to bypass the netlink_net_capable()
    check:
    
        vpnns -- nfnl_osf -f /tmp/pf.os
    
        vpnns -- nfnl_osf -f /tmp/pf.os -d
    
    These non-root operations successfully modify the systemwide OS
    fingerprint list.  Add new capable() checks so that they can't.
    
    Signed-off-by: default avatarKevin Cernekee <cernekee@chromium.org>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    916a2790