Linux SCTP module replies ABORT with existing v-tag for new INIT with init-tag=0. is it correct?
by liotliol from LinuxQuestions.org on (#5NTX0)
Hi.
I have question about SCTP protocol for what is correct action about new INIT message with init-tag=0 in case SCTP server has existing association already.
Followings were my steps for test.
1. Made SCTP association between A(server) and B(client).
(This association had tag with 0xda94dab3).
2. Next, B sent new INIT message to A with init-tag = 0.
(Yes, it was not normal. I made this packet with raw-socket for test - maybe attack)
I expected that server A response ABORT with verification-tag = 0.
But I got a strange result.
Ubuntu.4.15 / IPv4 = ABORT with verification-tag = 0xda94dab3
Ubuntu.4.15 / IPv6 = ABORT with verification-tag = 0xda94dab3
Redhat 8.4 / IPv4 = ABORT with verification-tag = 0
Redhat 8.4 / IPv6 = ABORT with verification-tag = 0xda94dab3
Only Redhat 8.4/IPv4 responded ABORT with verification-tag = 0.
And I feel strange that results are different between IPv4 and IPv6 as well.
Could I have opinions about it?
What is correct and why there are different results between IPv4 and IPv6?
(Additionally, can I attach files in the post of LinuxQuestions?
I guess my packet capture file can help to understand the case)
Thanks.
I have question about SCTP protocol for what is correct action about new INIT message with init-tag=0 in case SCTP server has existing association already.
Followings were my steps for test.
1. Made SCTP association between A(server) and B(client).
(This association had tag with 0xda94dab3).
2. Next, B sent new INIT message to A with init-tag = 0.
(Yes, it was not normal. I made this packet with raw-socket for test - maybe attack)
I expected that server A response ABORT with verification-tag = 0.
But I got a strange result.
Ubuntu.4.15 / IPv4 = ABORT with verification-tag = 0xda94dab3
Ubuntu.4.15 / IPv6 = ABORT with verification-tag = 0xda94dab3
Redhat 8.4 / IPv4 = ABORT with verification-tag = 0
Redhat 8.4 / IPv6 = ABORT with verification-tag = 0xda94dab3
Only Redhat 8.4/IPv4 responded ABORT with verification-tag = 0.
And I feel strange that results are different between IPv4 and IPv6 as well.
Could I have opinions about it?
What is correct and why there are different results between IPv4 and IPv6?
(Additionally, can I attach files in the post of LinuxQuestions?
I guess my packet capture file can help to understand the case)
Thanks.