On 09-05-17 19:47, David Sommerseth wrote:
> On 09/05/17 12:50, Steffan Karger wrote:
>> This issue was found by Quarkslab during the OSTIF-founded security audit
>> (issue 5.4), we agree with their analysis:
>>
>> "There’s a special case where the client username and password are not
>> erased when the server is launched without an external script or
>> authentication plugin. While being invalid, this configuration does not
>> raise any error. If the client transmits its credentials and the session
>> is not established (for instance if the certificates chain has not been
>> verified), these credentials are not erased from memory by the server.
>>
>> The likelihood of an occurrence of this issue in real life is exceptionally 
>> low since an attacker
>> needs elevated privileges on the server to exploit this kind of information 
>> leak. The severity of
>> this issue is rated as very low."
>>
>>
>> Signed-off-by: Steffan Karger <steffan.kar...@fox-it.com>
>> ---
>>  src/openvpn/ssl.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c
>> index 1033e58..abf5786 100644
>> --- a/src/openvpn/ssl.c
>> +++ b/src/openvpn/ssl.c
>> @@ -2661,6 +2661,7 @@ key_method_2_read(struct buffer *buf, struct tls_multi 
>> *multi, struct tls_sessio
>>  
>>  error:
>>      secure_memzero(ks->key_src, sizeof(*ks->key_src));
>> +    secure_memzero(up, sizeof(*up));
>>      buf_clear(buf);
>>      gc_free(&gc);
>>      return false;
>>
> 
> Feature-ACK, but code-NAK.
> 
> In key_method_2_read() there are a few places where `goto error;` can be
> used before `up` is allocated.  This will make secure_memzero()
> segfault, as it does not handle NULL pointers.  Or even worse (if the
> compiler let this pointer point at a random address), which leads to an
> unpredictable behaviour.
> 
> That said, I think we should fix secure_memzero() to just return if the
> input pointer is NULL.  And even though most compilers do initialize
> variables, I think it's good to be defensive here and initialize `up` too.
> 

Oof, good catch.  I'll send a v2 in a minute.

-Steffan


Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Openvpn-devel mailing list
Openvpn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openvpn-devel

Reply via email to