[strongSwan] Test for Unrecognized payload types and critical bit is set fails
kumuda
kumuda at linux.vnet.ibm.com
Mon Oct 20 18:52:32 CEST 2014
Attaching the charon log..
On 10/20/2014 10:00 PM, kumuda wrote:
> Hi,
>
> Have configured IKEv2 as responder and using strongSwan 5.2.0.
>
> Test is to verify that IKEv2 sends a CREATE_CHILD_SA response with a
> Notify payload of type
> UNSUPPORTED_CRITICAL_PAYLOAD for the CREATE_CHILD_SA request with invalid
> payload type value (1) and critical bit is set.
>
> As per RFC:
>
> If the critical flag is set
> and the payload type is unrecognized, the message MUST be rejected
> and the response to the IKE request containing that payload MUST
> include a Notify payload UNSUPPORTED_CRITICAL_PAYLOAD, indicating an
> unsupported critical payload was included
>
> Charon log shows that decrypting the notify payload fails..
>
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 0 U_INT_8
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 41
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 1 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 1
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 2 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 3 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 4 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 5 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 6 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 7 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 8 RESERVED_BIT
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 9
> PAYLOAD_LENGTH
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 4
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 10 U_INT_32
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 553648136
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 11 U_INT_32
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> => 16391
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> parsing rule 12 (1258)
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> could not decrypt payloads
> Oct 20 01:47:16 16[IKE] <tahi_ikev2_test|1> message parsing failed
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> added payload of type
> NOTIFY to message
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> added payload of type
> NOTIFY to message
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> generating CREATE_CHILD_SA
> response 2 [ N(INVAL_SYN) ]
> Oct 20 01:47:16 16[ENC] <tahi_ikev2_test|1> insert payload NOTIFY into
> encrypted payload
>
> Comparing charon log of 4.6.4, I see difference in the nonce payload
> length and parsing of next payload 41.
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 0 U_INT_8
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 41
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 1 FLAG
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 1
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 2 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 3 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 4 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 5 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 6 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 7 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 8 RESERVED_BIT
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 0
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 9
> PAYLOAD_LENGTH
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => 4
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing rule 10
> UNKNOWN_DATA
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> => => 0 bytes @ (nil)
> Oct 20 03:27:20 16[ENC] <tahi_ikev2_test|1> parsing (1) payload finished
>
> Does the nonce payload influence parsing this invalid payload?
> What could be causing this message parsing fail?
>
> Regards,
> Kumuda G
>
> _______________________________________________
> Users mailing list
> Users at lists.strongswan.org
> https://lists.strongswan.org/mailman/listinfo/users
>
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: charon_148.log
Type: text/x-log
Size: 303704 bytes
Desc: not available
URL: <http://lists.strongswan.org/pipermail/users/attachments/20141020/0f705804/attachment-0001.bin>
More information about the Users
mailing list