sctp: asconf's process should verify address parameter is in the beginning
authorlucien <lucien.xin@gmail.com>
Thu, 27 Aug 2015 08:26:34 +0000 (16:26 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Aug 2015 20:59:33 +0000 (13:59 -0700)
commitce7b4ccc4f62775f4167495a06fbee0025f87175
tree695c1ad3be0a2de54f8713c378a4d0160fc58c8a
parentfbe4307e9ffd9b9c9d4631a37c8f16080da8df85
sctp: asconf's process should verify address parameter is in the beginning

in sctp_process_asconf(), we get address parameter from the beginning of
the addip params. but we never check if it's really there. if the addr
param is not there, it still can pass sctp_verify_asconf(), then to be
handled by sctp_process_asconf(), it will not be safe.

so add a code in sctp_verify_asconf() to check the address parameter is in
the beginning, or return false to send abort.

note that this can also detect multiple address parameters, and reject it.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Marcelo Ricardo Leitner <mleitner@redhat.com>
Acked-by: Vlad Yasevich <vyasevich@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sctp/sm_make_chunk.c