[strongSwan-dev] Is strongswan is affected by CVE-2016-5361

Nirmoy Das ndas at suse.de
Mon Jun 20 15:40:44 CEST 2016


Thanks Tobias for the detailed explanation :)

On 06/20/2016 11:30 AM, Tobias Brunner wrote:
> Hi Nirmoy,
> 
>> Is by any chance  strongswan  is affected by this recent reported
>> security bug, CVE-2016-5361 ?
> 
> Yes, if IKEv1 in Aggressive Mode (AM) is used.  This is due to an
> inherent deficiency of the protocol.  When using AM the client sends a
> request, the server responds and then there is a third message from the
> client that is not acknowledged by the server.  So the client has no
> direct way of knowing whether the server actually received that message.
>  One option, which strongSwan implements, is for the server to
> retransmit the response while it hasn't received the third message yet.
>  Unfortunately, this means that sending an unverified AM request with an
> arbitrary source IP may trigger multiple, several hundred bytes large,
> responses that are sent to that IP.  The size of the response will
> depend on the DH group and authentication method (e.g. if certificates
> are used).
> 
> strongSwan as responder to an AM request will retransmit its response
> according to its configurable retransmission timings [1].  However,
> because the IKE_SA is only half-open, it will get deleted after a
> configurable timeout (default is 30s).  So with the default settings the
> original response and three retransmits are sent over the course of 30
> seconds.  Additionally, the built-in DoS protection prevents that too
> many half-open connections with the same source IP are created (the
> default is 5, but depending on the timing there could be a few more as
> half-open SAs are currently only counted after handling the initial
> request).  Which means that the number of messages that could get sent
> to an arbitrary IP within every 30 seconds is limited.
> 
> Anyway, since only IKEv1 in Aggressive Mode is affected, using Main Mode
> or, preferably, IKEv2 completely avoids any potential exposure to this
> issue.  It would also be trivial to disable sending the retransmits
> ([2]), however, that breaks the connection if the third message is lost.
>  But again, only IKEv1 AM connections are affected.
> 
> Instead of sending retransmits unconditionally and if AM is not combined
> with XAuth (which it often is) the server could probably use Transaction
> (for Mode Config) or Quick Mode requests from the client to trigger a
> retransmit of the second AM message (to get the client to resend the
> third message, if it is able to do so).  But with XAuth (or Mode Config
> in push mode) that's not possible as the next message has to be sent by
> the server.  However, in this case the client could theoretically use
> the absence of a Transaction request for some time as trigger to resend
> the third AM message.
> 
> strongSwan does neither of these things and, as mentioned, simply
> retransmits the AM response and, as client, does not retransmit the
> third message unless it receives a retransmit of the second.  And if AM
> is directly followed by Quick Mode or Mode Config in pull mode it
> couldn't even retransmit the third AM message as that new request
> replaces it - but as mentioned AM is often combined with XAuth.
> 
> The best way to prevent this issue is to use IKEv2.  If IKEv1 has still
> to be used for some legacy reasons it should be restricted to Main Mode.
> 
> Regards,
> Tobias
> 
> [1] https://wiki.strongswan.org/projects/strongswan/wiki/Retransmission
> [2] https://git.strongswan.org/?p=strongswan.git;a=commitdiff;h=4e16732c
> 
Regards,
Nirmoy
-- 
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB
21284 (AG Nürnberg) Maxfeldstr. 5
D-90409 Nürnberg / Phone: +49-911-740 18-4


More information about the Dev mailing list