• Davide Caratti's avatar
    netfilter: conntrack: validate SCTP crc32c in PREROUTING · cf6e007e
    Davide Caratti authored
    implement sctp_error to let nf_conntrack_in validate crc32c on the packet
    transport header. Assign skb->ip_summed to CHECKSUM_UNNECESSARY and return
    NF_ACCEPT in case of successful validation; otherwise, return -NF_ACCEPT to
    let netfilter skip connection tracking, like other protocols do.
    
    Besides preventing corrupted packets from matching conntrack entries, this
    fixes functionality of REJECT target: it was not generating any ICMP upon
    reception of SCTP packets, because it was computing RFC 1624 checksum on
    the packet and systematically mismatching crc32c in the SCTP header.
    Signed-off-by: default avatarDavide Caratti <dcaratti@redhat.com>
    Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
    cf6e007e
nf_conntrack_proto_sctp.c 25 KB