Re: openssl-0.9.8za fips compliance

2014-08-08 Thread Gayathri Manoj
Hi Jeffrey,

I used  openssl_fips 1.2 with openssl 0.9.8l. and planning to upgrade
openssl-0.9.8l to 0.9.8za with -no-ec option. Please let me know is it
break my fips compliance.

Thanks,
Gayathri


On Fri, Aug 8, 2014 at 11:09 AM, Jeffrey Walton noloa...@gmail.com wrote:

 On Fri, Aug 8, 2014 at 1:11 AM, Gayathri Manoj gayathri.an...@gmail.com
 wrote:
 
  Please let me know openssl-0.9.8za with -no-ec option is fips compliant
 or
  not.
 No. If you want FIPS validated crypto, then you need one of the
 openssl-fips-*-tar.gz downloads. They produce the FIPS Object Module.

 openssl-0.9.8xxx is FIPS capable. It can use the validated
 cryptography if the FIPS Object Module is available.
 __
 OpenSSL Project http://www.openssl.org
 User Support Mailing Listopenssl-users@openssl.org
 Automated List Manager   majord...@openssl.org



OpenSSL Security Advisory - CVE-2014-3508

2014-08-08 Thread Simner, John
Hi,
Please can I enquire what the actual vulnerability is with...


Information leak in pretty printing functions (CVE-2014-3508)

=



A flaw in OBJ_obj2txt may cause pretty printing functions such as

X509_name_oneline, X509_name_print_ex et al. to leak some information from the

stack. Applications may be affected if they echo pretty printing output to the

attacker. OpenSSL SSL/TLS clients and servers themselves are not affected.



OpenSSL 0.9.8 users should upgrade to 0.9.8zb

OpenSSL 1.0.0 users should upgrade to 1.0.0n.

OpenSSL 1.0.1 users should upgrade to 1.0.1i.



Thanks to Ivan Fratric (Google) for discovering this issue. This issue

was reported to OpenSSL on 19th June 2014.



The fix was developed by Emilia Käsper and Stephen Henson of the OpenSSL

development team.





I have tried to look up CVE-2014-3508 and found it is not there yet.

What is meant by echo pretty printing output to the attacker?



Thank you for your assistance and look forward to your response.



Thanks..

John


[Unify: Harmonize your enterprise]

John Simner BSc(Hons) MSc CEng. MIET
Software Engineer, Devices Development

Unify Enterprise Communications Ltd.

Tel.: +44 (1908) 817378 (One Number Service)
Email: john.sim...@unify.com mailto:vorname.n...@unify.com

www.unify.co.ukhttp://www.unify.co.uk/

Follow us: [Social_media_icons] http://www.unify.com/social-media

Unify Enterprise Communications Limited. Registered Office: Brickhill Street, 
Willen Lake, Milton Keynes, MK15 0DJ
Registered No: 5903714, England.

This email contains confidential information and is for the exclusive use of 
the addressee.
If you are not the addressee then any distribution, copying, or use of this 
email is prohibited.
If received in error, please advise the sender and delete immediately. We 
accept no liability for
any loss or damage suffered by any person arising from use of this email.




RE: Query on X509 certificate validation- EVP_VerifyUpdate EVP_VerifyFinal

2014-08-08 Thread Mitra, Rituparna (STSD)
Hi Victor,

Thanks for the response. We are digging further into how app1 is generating the 
signature. Problem seems to be pointing more towards app1.

Regards,
Rituparna Mitra


-Original Message-
From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] 
On Behalf Of Viktor Dukhovni
Sent: Monday, August 04, 2014 8:51 PM
To: openssl-users@openssl.org
Subject: Re: Query on X509 certificate validation- EVP_VerifyUpdate  
EVP_VerifyFinal

On Mon, Aug 04, 2014 at 05:43:47AM +, Mitra, Rituparna (STSD) wrote:

 1.   app1: sends a CGI POST request to app2 ? the POST request has the UN 
 (username).
 
 2.   app2: does a CGI GET to receive the UN within app1?s POST request.
 
 3.   app2: has app1?s x509 certificate already stored, since it has to 
 allow SSO from app1 ? gets verification ctx from here.
 
 4.   app2: uses the UN (containing ! character) to form a hashdata,
 
 5.   app2: passes hashdata to EVP_VerifyUpdate(ctx, .. )
 
 6.   app2: calls EVP_VerifyFinal -- this eventually fails during public 
 key check (EVP_PKEY_verify), due to the ! character in UN

Sorry, that's not the reason.  Your mistake is elsewhere.  In particular the 
signature is likely incorrect or signed something other than what you expected.

Also the SSO protocol design is deeply flawed.  It is not sufficient to send a 
signature of the username alone.

If the two applications are communicating directly, app1 should authenticate 
the channel with a client certificate, and can then just send the username 
unsigned in the request, since all the data sent is authenticated with app1's 
certificate.

-- 
Viktor.
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


RE: Query on X509 certificate validation- EVP_VerifyUpdate EVP_VerifyFinal

2014-08-08 Thread Mitra, Rituparna (STSD)
Hi Dave,

If you mean app2 hashes UN and passes that hash to VerifyUpdate, that's wrong.
If you mean it passes the data *to be hashed*, that's good.

Thanks. Yes I meant the 2nd one, it passes the data to be hashed. We are 
investigating further as problem seems to be leaning towards app1.

Regards,
Rituparna Mitra


-Original Message-
From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] 
On Behalf Of Dave Thompson
Sent: Friday, August 08, 2014 6:28 AM
To: openssl-users@openssl.org
Subject: RE: Query on X509 certificate validation- EVP_VerifyUpdate  
EVP_VerifyFinal

 From: owner-openssl-us...@openssl.org On Behalf Of Viktor Dukhovni
 Sent: Monday, August 04, 2014 11:21

 On Mon, Aug 04, 2014 at 05:43:47AM +, Mitra, Rituparna (STSD) wrote:
 
  1.   app1: sends a CGI POST request to app2 ? the POST request has
the
 UN (username). 
 
  2.   app2: does a CGI GET to receive the UN within app1?s POST
request.
 
  3.   app2: has app1?s x509 certificate already stored, since it has
to allow
 SSO from app1 ? gets verification ctx from here.
 
  4.   app2: uses the UN (containing ! character) to form a hashdata,
 
  5.   app2: passes hashdata to EVP_VerifyUpdate(ctx, .. )
 
If you mean app2 hashes UN and passes that hash to VerifyUpdate, that's wrong.
If you mean it passes the data *to be hashed*, that's good.

EVP_Verify{Init,Update,Final} does the hash of the data as part of verifying a 
signature just as EVP_Sign{Init,Update,Final} does the hash of the data to be 
signed.
In fact {Sign,Verify}{Init,Update} are just macros for Digest{Init,Update}, the 
PK operations are done only in Final.

  6.   app2: calls EVP_VerifyFinal -- this eventually fails during
public key
 check (EVP_PKEY_verify), due to the ! character in UN
 
snip broader points


__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


How to know that received data is HelloClient over an already established SSL?

2014-08-08 Thread Iñaki Baz Castillo
Hi,

I have an established/connected SSL instance acting as server (it is
DTLS but I hope that does not matter).

In my experiment, at some point the client sends a new HelloClient
(which belongs to a new SSL session in the client side). Since the
server just handles a single SSL instance what it happens is that
SSL_read() returns SSL_ERROR_WANT_READ and nothing else occurs (there
is no data to be sent to the peer in the network_bio).

My question: how could I know that the received data is a HelloClient?
I would like to know that because in that case I want to reset my SSL
instance at server side.

Thanks a lot.

-- 
Iñaki Baz Castillo
i...@aliax.net
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: openssl 0.9.8 zb and DTLS reassemble fragment

2014-08-08 Thread Matt Caswell


On 07/08/14 20:42, Jaya Nageswar wrote:
 Hi All,
 
 The following vulnerability fixes in 0.9.8 zb seems to be related to the
 DTLS reassemble fragment functionality that is introduced from 0.9.8 o
 version.
 
 CVE-2014-3505 -Avoid double free when processing DTLS packets
 CVE-2014-3506 -Fix DTLS handshake message size checks
 CVE-2014-3507 -Fix memory leak from zero-length DTLS fragments
 
 As per the https://www.openssl.org/news/vulnerabilities.html, all the
 versions of openssl 0.9.8. This includes the versions before 0.9.8 o
 where the DTLS reassemble fragment is not present.
 
 Can some one confirm if it is updated by mistake or is all the versions
 of 0.9.8 are affected with the above vulnerabilities too..
 
 appreciate your quick response on this.
 
 regards,
 -Jaya.


Hi Jaya

CVE-2014-3505 has two sites which are affected by the same problem
(either of these can be present for the issue to occur). One
of these is dtls1_reassemble_fragment, which you rightly say was not
introduced until 0.9.8o. However the other site is in
dtls1_process_out_of_seq_message. This issue was introduced in 0.9.8m.
Therefore 0.9.8 - 0.9.8l are not affected.

CVE-2014-3506 primarily addresses issues in dtls1_reassemble_fragment.
However it does also address a problem in the non-fragmented case where
there was no check for the maximum handshake message size, and this
problem also exists in 0.9.8. Therefore 0.9.8 is still affected.

CVE-2014-3507 deals with an issue where zero length fragments result in
a memory leak due to a flaw in the logic regarding reassembling
fragments. Since this logic does not exist in 0.9.8 - 0.9.8n, you are
correct that they are not affected.

I will correct the Security Advisory and the vulnerabilities page with
regards to CVE-2014-3505 and CVE-2014-3507.

Thank you for bringing this to our attention.

Matt
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: openssl-0.9.8za fips compliance

2014-08-08 Thread Tom Francis
Use of -no-ec when building the FIPS capable openssl doesn’t affect the FIPS 
module at all, and therefore doesn’t affect any statements you can make 
regarding FIPS 140 compliance.  The -no-ec option will prevent elliptic curve 
cryptography from being used in OpenSSL when NOT using the FIPS module, and 
does not affect OpenSSL when using the FIPS module.  The FIPS module is used 
only when FIPS mode is enabled by calling FIPS_mode_set().

I’m somewhat concerned, though, by your questions in a previous thread, so I’d 
like to clarify: elliptic curve cryptography cannot be used in FIPS mode (it’s 
not part of the FIPS module), no matter which version of OpenSSL you use with 
the 1.2 OpenSSL FIPS module.  If you were previously using ECDSA keys in your 
application, you were not using the FIPS module, and any statements about the 
application being FIPS 140 compliant were mistaken, at best.

TOM

On Aug 8, 2014, at 1:59 AM, Gayathri Manoj gayathri.an...@gmail.com wrote:

 Hi Jeffrey,
 
 I used  openssl_fips 1.2 with openssl 0.9.8l. and planning to upgrade 
 openssl-0.9.8l to 0.9.8za with -no-ec option. Please let me know is it break 
 my fips compliance.
 
 Thanks,
 Gayathri
 
 
 On Fri, Aug 8, 2014 at 11:09 AM, Jeffrey Walton noloa...@gmail.com wrote:
 On Fri, Aug 8, 2014 at 1:11 AM, Gayathri Manoj gayathri.an...@gmail.com 
 wrote:
 
  Please let me know openssl-0.9.8za with -no-ec option is fips compliant or
  not.
 No. If you want FIPS validated crypto, then you need one of the
 openssl-fips-*-tar.gz downloads. They produce the FIPS Object Module.
 
 openssl-0.9.8xxx is FIPS capable. It can use the validated
 cryptography if the FIPS Object Module is available.
 __
 OpenSSL Project http://www.openssl.org
 User Support Mailing Listopenssl-users@openssl.org
 Automated List Manager   majord...@openssl.org
 

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Is CVE-2014-5139 applicable if SRP ciphers were disabled from the cipherlist?

2014-08-08 Thread Henning Horst
Hi,

Reading the CVE-2014-5139 description,

The issue affects OpenSSL clients and allows a malicious server to crash
the client with a null pointer dereference (read) by specifying an SRP
ciphersuite even though it was not properly negotiated with the client. This can
be exploited through a Denial of Service attack.

OpenSSL 1.0.1 SSL/TLS client users should upgrade to 1.0.1i.


can someone please clarify whether or not this vulnerability affects
1.0.1 clients which explicitly disable SRP ciphers via
SSL_CTX_set_cipher_list?

I appreciate your help.

Thanks and Best Regards,

Henning

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: 1.0.1i breaks SRP

2014-08-08 Thread Norm Green

Hello Steve,

Reverting the below commit is necessary but not sufficient.  There are 
also references to aSRP in s3_clnt.c and ssl_lib.c that must be deleted 
to get OpenSSL to build.  SRP functions correctly once that has been done.


Norm


On 8/7/14, 19:21, Dr. Stephen Henson wrote:

On Thu, Aug 07, 2014, Norm Green wrote:


Any idea where to begin debugging this?  Any and all help is appreciated.


The cause is incorrect handling of new SRP authentication type which was added
to correct a bug where SRP authentication was incorrectly classified as NULL
authhentication.

A temporary workaround is to revert the addition of the SRP authentication
type in commit 18c7f2fce8a82b13506cac7ca69fc333baf76408:

https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=18c7f2fce8a82b13506cac7ca69fc333baf76408

I'm working on the proper fix.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: openssl 0.9.8 zb and DTLS reassemble fragment

2014-08-08 Thread Matt Caswell


On 08/08/14 12:26, Matt Caswell wrote:

 Hi Jaya
 
 CVE-2014-3505 has two sites which are affected by the same problem
 (either of these can be present for the issue to occur). One
 of these is dtls1_reassemble_fragment, which you rightly say was not
 introduced until 0.9.8o. However the other site is in
 dtls1_process_out_of_seq_message. This issue was introduced in 0.9.8m.
 Therefore 0.9.8 - 0.9.8l are not affected.
 
 CVE-2014-3506 primarily addresses issues in dtls1_reassemble_fragment.
 However it does also address a problem in the non-fragmented case where
 there was no check for the maximum handshake message size, and this
 problem also exists in 0.9.8. Therefore 0.9.8 is still affected.
 
 CVE-2014-3507 deals with an issue where zero length fragments result in
 a memory leak due to a flaw in the logic regarding reassembling
 fragments. Since this logic does not exist in 0.9.8 - 0.9.8n, you are
 correct that they are not affected.
 
 I will correct the Security Advisory and the vulnerabilities page with
 regards to CVE-2014-3505 and CVE-2014-3507.

I have updated the vulnerabilities page (should show on the web site
soon). I haven't updated the Security Advisory as I think the advice is
still correct (0.9.8 users are advised to upgrade to 0.9.8zb).

As noted in another thread CVE-2014-3507 only applies to 0.9.8o onwards
and 1.0.0a onwards (i.e. not 1.0.0).

Matt

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: 1.0.1i breaks SRP

2014-08-08 Thread Matt Caswell


On 08/08/14 19:33, Norm Green wrote:
 Hello Steve,
 
 Reverting the below commit is necessary but not sufficient.  There are
 also references to aSRP in s3_clnt.c and ssl_lib.c that must be deleted
 to get OpenSSL to build.  SRP functions correctly once that has been done.

Those were introduced as part of the fix to CVE-2014-5139 (commit
83764a989)...deleting them may be unwise.

Matt

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: 1.0.1i breaks SRP

2014-08-08 Thread Norm Green

Then what would you suggest?  SRP is completely broken for us with 1.0.1i

Norm

On 8/8/14, 11:51, Matt Caswell wrote:


On 08/08/14 19:33, Norm Green wrote:

Hello Steve,

Reverting the below commit is necessary but not sufficient.  There are
also references to aSRP in s3_clnt.c and ssl_lib.c that must be deleted
to get OpenSSL to build.  SRP functions correctly once that has been done.

Those were introduced as part of the fix to CVE-2014-5139 (commit
83764a989)...deleting them may be unwise.

Matt

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: 1.0.1i breaks SRP

2014-08-08 Thread Dr. Stephen Henson
On Fri, Aug 08, 2014, Norm Green wrote:

 Then what would you suggest?  SRP is completely broken for us with 1.0.1i
 

Please try the attached patch against 1.0.1i.

[BTW removing the aSRP references is fine as long as you don't delete the kSRP
references too]

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index ea0c82d..2ceaa1e 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -326,9 +326,9 @@ int ssl3_connect(SSL *s)
break;
}
 #endif
-   /* Check if it is anon DH/ECDH */
+   /* Check if it is anon DH/ECDH, SRP auth */
/* or PSK */
-   if (!(s-s3-tmp.new_cipher-algorithm_auth  
SSL_aNULL) 
+   if (!(s-s3-tmp.new_cipher-algorithm_auth  
(SSL_aNULL|SSL_aSRP)) 
!(s-s3-tmp.new_cipher-algorithm_mkey  SSL_kPSK))
{
ret=ssl3_get_server_certificate(s);
@@ -1835,8 +1835,8 @@ fprintf(stderr, USING TLSv1.2 HASH %s\n, 
EVP_MD_name(md));
}
else
{
-   if (!(alg_a  SSL_aNULL)  !(alg_k  SSL_kPSK))
-   /* aNULL or kPSK do not need public keys */
+   /* aNULL, aSRP or kPSK do not need public keys */
+   if (!(alg_a  (SSL_aNULL|SSL_aSRP))  !(alg_k  SSL_kPSK))
{

SSLerr(SSL_F_SSL3_GET_KEY_EXCHANGE,ERR_R_INTERNAL_ERROR);
goto err;
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index 4835bef..c5f3e93 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -3824,6 +3824,8 @@ SSL_CIPHER *ssl3_choose_cipher(SSL *s, 
STACK_OF(SSL_CIPHER) *clnt,
 #ifndef OPENSSL_NO_SRP
mask_k=cert-mask_k | s-srp_ctx.srp_Mask;
emask_k=cert-export_mask_k | s-srp_ctx.srp_Mask;
+   mask_a=cert-mask_a | s-srp_ctx.srp_Mask;
+   emask_a=cert-export_mask_a | s-srp_ctx.srp_Mask;
 #endif

 #ifdef KSSL_DEBUG
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index 2867501..b0538d1 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -412,7 +412,7 @@ int ssl3_accept(SSL *s)
/* normal PSK or KRB5 or SRP */
if (!(s-s3-tmp.new_cipher-algorithm_auth  SSL_aNULL)
 !(s-s3-tmp.new_cipher-algorithm_mkey  
SSL_kPSK)
-!(s-s3-tmp.new_cipher-algorithm_auth  
SSL_aKRB5))
+!(s-s3-tmp.new_cipher-algorithm_auth  
(SSL_aKRB5|SSL_aSRP)))
{
ret=ssl3_send_server_certificate(s);
if (ret = 0) goto end;
@@ -515,7 +515,9 @@ int ssl3_accept(SSL *s)
  * (against the specs, but s3_clnt.c accepts 
this for SSL 3) */
 !(s-verify_mode  
SSL_VERIFY_FAIL_IF_NO_PEER_CERT)) ||
 /* never request cert in Kerberos ciphersuites 
*/
-   (s-s3-tmp.new_cipher-algorithm_auth  
SSL_aKRB5)
+   (s-s3-tmp.new_cipher-algorithm_auth  
SSL_aKRB5) ||
+   /* don't request certificate with SRP auth */
+   (s-s3-tmp.new_cipher-algorithm_auth  
SSL_aSRP)
/* With normal PSK Certificates and
 * Certificate Requests are omitted */
|| (s-s3-tmp.new_cipher-algorithm_mkey  
SSL_kPSK))
@@ -1846,7 +1848,7 @@ int ssl3_send_server_key_exchange(SSL *s)
n+=2+nr[i];
}
 
-   if (!(s-s3-tmp.new_cipher-algorithm_auth  SSL_aNULL)
+   if (!(s-s3-tmp.new_cipher-algorithm_auth  
(SSL_aNULL|SSL_aSRP))
 !(s-s3-tmp.new_cipher-algorithm_mkey  SSL_kPSK))
{
if 
((pkey=ssl_get_sign_pkey(s,s-s3-tmp.new_cipher,md))


Re: Is CVE-2014-5139 applicable if SRP ciphers were disabled from the cipherlist?

2014-08-08 Thread Dr. Stephen Henson
On Fri, Aug 08, 2014, Henning Horst wrote:

 
 can someone please clarify whether or not this vulnerability affects
 1.0.1 clients which explicitly disable SRP ciphers via
 SSL_CTX_set_cipher_list?
 

Disabling them with the cipherlist will still leave you vulnerable. One of the
bugs this fixed was that an SRP ciphersuites could be specified even if it was
not present in ClientHello.

If you disable SRP at compile time with no-srp you're OK though.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: Is CVE-2014-5139 applicable if SRP ciphers were disabled from the cipherlist?

2014-08-08 Thread Henning Horst
On 08/08/2014 03:27 PM, Dr. Stephen Henson wrote:
 Disabling them with the cipherlist will still leave you vulnerable. One of the
 bugs this fixed was that an SRP ciphersuites could be specified even if it was
 not present in ClientHello.

 If you disable SRP at compile time with no-srp you're OK though.
Thank you very much for your swift response, Steve.
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


RST after close_notify

2014-08-08 Thread Donald J.
I have an issue with an FTP client issuing a DIR command to a Windows
FTP server.
A normal packet trace is shown in sequence 1 below.  An Ack Fin is
received
from the Windows FTP server and the DIR command completes successfully.

In the 2nd sequence, each side exchanges close_notify, but no Fin
flags are set.
Windows FTP server ends with an  Ack Rst.   After receiving the Reset
packet,
the FTP client issues a connection reset' message and sets an error
code.
Is that the correct thing to do?

1) Successful DIR command output being received:
IN   Ack
IN   Ack 536Bytes
IN   Ack 536B
OUT  Ack Psh
IN   Ack 536B
IN   Ack 536B
IN   Ack 536B
IN   Ack 536B
IN   Ack Psh  79B  42B  15 (close_notify alert)  
OUT  Ack Psh 
IN   Ack Fin   
OUT  Ack Psh  37B  15 (close_notify alert)
IN   Ack Rst   

2) DIR command fails with error:   
IN   Ack
IN   Ack 536B
IN   Ack 536B
OUT  Ack Psh
IN   Ack 536B
IN   Ack 536B
IN   Ack 536B
IN   Ack 536B
IN   Ack Psh  42B   
OUT  Ack Psh
IN   Ack Psh  37B  15 (close_notify alert)   
OUT  Ack Psh   
OUT  Ack Psh  37B  15 (close_notify alert)   
IN   Ack Rst

-- 
  Donald J.
  dona...@4email.net

-- 
http://www.fastmail.fm - Or how I learned to stop worrying and
  love email again

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: 1.0.1i breaks SRP

2014-08-08 Thread Norm Green

Hi Steve,

That patch works!  We will go with that one instead of rolling back the 
commit mentioned in your previous message.


Thanks very much for your help!!!

Norm


On 8/8/14, 12:25, Dr. Stephen Henson wrote:

On Fri, Aug 08, 2014, Norm Green wrote:


Then what would you suggest?  SRP is completely broken for us with 1.0.1i


Please try the attached patch against 1.0.1i.

[BTW removing the aSRP references is fine as long as you don't delete the kSRP
references too]

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org


__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: openssl 0.9.8 zb and DTLS reassemble fragment

2014-08-08 Thread Jaya Nageswar
Thank you very much for the update in a quick time.


On Sat, Aug 9, 2014 at 12:09 AM, Matt Caswell m...@openssl.org wrote:



 On 08/08/14 12:26, Matt Caswell wrote:

  Hi Jaya
 
  CVE-2014-3505 has two sites which are affected by the same problem
  (either of these can be present for the issue to occur). One
  of these is dtls1_reassemble_fragment, which you rightly say was not
  introduced until 0.9.8o. However the other site is in
  dtls1_process_out_of_seq_message. This issue was introduced in 0.9.8m.
  Therefore 0.9.8 - 0.9.8l are not affected.
 
  CVE-2014-3506 primarily addresses issues in dtls1_reassemble_fragment.
  However it does also address a problem in the non-fragmented case where
  there was no check for the maximum handshake message size, and this
  problem also exists in 0.9.8. Therefore 0.9.8 is still affected.
 
  CVE-2014-3507 deals with an issue where zero length fragments result in
  a memory leak due to a flaw in the logic regarding reassembling
  fragments. Since this logic does not exist in 0.9.8 - 0.9.8n, you are
  correct that they are not affected.
 
  I will correct the Security Advisory and the vulnerabilities page with
  regards to CVE-2014-3505 and CVE-2014-3507.

 I have updated the vulnerabilities page (should show on the web site
 soon). I haven't updated the Security Advisory as I think the advice is
 still correct (0.9.8 users are advised to upgrade to 0.9.8zb).

 As noted in another thread CVE-2014-3507 only applies to 0.9.8o onwards
 and 1.0.0a onwards (i.e. not 1.0.0).

 Matt

 __
 OpenSSL Project http://www.openssl.org
 User Support Mailing Listopenssl-users@openssl.org
 Automated List Manager   majord...@openssl.org



RE: RST after close_notify

2014-08-08 Thread Michael Wojcik
 -Original Message-
 From: owner-openssl-us...@openssl.org [mailto:owner-openssl-
 us...@openssl.org] On Behalf Of Donald J.
 Sent: Friday, 08 August, 2014 15:34
 To: openssl-users@openssl.org
 Subject: RST after close_notify
 
 I have an issue with an FTP client issuing a DIR command to a Windows
 FTP server.
 A normal packet trace is shown in sequence 1 below.  An Ack Fin is
 received
 from the Windows FTP server and the DIR command completes successfully.

Both of your traces below show an RST in the final packet, not a FIN.


 In the 2nd sequence, each side exchanges close_notify, but no Fin
 flags are set.
 Windows FTP server ends with an  Ack Rst.   After receiving the Reset
 packet,
 the FTP client issues a connection reset' message and sets an error
 code.
 Is that the correct thing to do?

Are you questioning the server's behavior, or the client's?

Probably what happened is the server sent its close_notify and then closed its 
end of the connection without waiting for the client's close_notify response. 
See Eric Rescorla's /SSL and TLS/ book, 8.10, for further discussion. This is 
unfriendly behavior by the server, in my opinion, but common enough for 
Rescorla to discuss it.

It's also possible the server did an abortive close, which would be the Wrong 
Thing to do, but the former case is more likely. And in any event, your client 
couldn't distinguish between the two. (And what would you do about it anyway? 
If someone else's server behaves badly, you have to deal with it in some 
fashion.)

How the client handles receiving a RST (generally manifests as a return code of 
-1 from send or recv, with errno set to ECONNRESET [1]; with OpenSSL you should 
get SSL_ERROR_SYSCALL and check errno) is a matter of taste. Often you do want 
to report that the connection was reset. In this case, though, since a reset is 
not unexpected AND you know you've received all the data from the server - you 
got its close_notify - it's better to silently ignore it.

In short, the logic should be something like this:

if RST-received
if we were trying to send data
check for a close_notify from the peer
end-if
if close_notify not already recevied from peer
treat as failure
end-if
close socket and clean up
end-if


[1] This assumes the application, if it's running in a POSIX environment, has 
set the disposition of the SIGPIPE signal to ignore. SIGPIPE is a kluge for 
applications that don't check the result of the write/send family of system 
calls. Any well-written application should ignore it.


-- 
Michael Wojcik
Technology Specialist, Micro Focus



This message has been scanned for malware by Websense. www.websense.com
__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org


Re: RST after close_notify

2014-08-08 Thread Donald J.
The FTP client is a batch mainframe process which 
must get return code zero, or someone gets called 
in the middle of the night.  I have been working 
with IBM support which claims that the server should 
return a Fin before Rst.  So I will probably turn this 
problem over to our PC server group.  

I don't really understand why in the successful sequence, 
the client sends Ack PSh and waits to receive the 
Ack Fin before sending the close_notify.  But in the 
failing sequence the client sends Ack Psh, then 
immediately sends lose_notify without any waiting.

If the server is closing its connection after sending the 
close_notify, it probably wouldn't send the Ack Fin in 
the successful sequence?

I guess IBM is saying the server should send Ack Fin,
wait for Ack from client, and server then would  send
the AckRst?   

-- 
  Donald J.
  dona...@4email.net

On Fri, Aug 8, 2014, at 02:03 PM, Michael Wojcik wrote:
  -Original Message-
  From: owner-openssl-us...@openssl.org [mailto:owner-openssl-
  us...@openssl.org] On Behalf Of Donald J.
  Sent: Friday, 08 August, 2014 15:34
  To: openssl-users@openssl.org
  Subject: RST after close_notify
  
  I have an issue with an FTP client issuing a DIR command to a Windows
  FTP server.
  A normal packet trace is shown in sequence 1 below.  An Ack Fin is
  received
  from the Windows FTP server and the DIR command completes successfully.
 
 Both of your traces below show an RST in the final packet, not a FIN.
 
 
  In the 2nd sequence, each side exchanges close_notify, but no Fin
  flags are set.
  Windows FTP server ends with an  Ack Rst.   After receiving the Reset
  packet,
  the FTP client issues a connection reset' message and sets an error
  code.
  Is that the correct thing to do?
 
 Are you questioning the server's behavior, or the client's?
 
 Probably what happened is the server sent its close_notify and then
 closed its end of the connection without waiting for the client's
 close_notify response. See Eric Rescorla's /SSL and TLS/ book, 8.10, for
 further discussion. This is unfriendly behavior by the server, in my
 opinion, but common enough for Rescorla to discuss it.
 
 It's also possible the server did an abortive close, which would be the
 Wrong Thing to do, but the former case is more likely. And in any event,
 your client couldn't distinguish between the two. (And what would you do
 about it anyway? If someone else's server behaves badly, you have to deal
 with it in some fashion.)
 
 How the client handles receiving a RST (generally manifests as a return
 code of -1 from send or recv, with errno set to ECONNRESET [1]; with
 OpenSSL you should get SSL_ERROR_SYSCALL and check errno) is a matter of
 taste. Often you do want to report that the connection was reset. In this
 case, though, since a reset is not unexpected AND you know you've
 received all the data from the server - you got its close_notify - it's
 better to silently ignore it.
 
 In short, the logic should be something like this:
 
   if RST-received
   if we were trying to send data
   check for a close_notify from the peer
   end-if
   if close_notify not already recevied from peer
   treat as failure
   end-if
   close socket and clean up
   end-if
 
 
 [1] This assumes the application, if it's running in a POSIX environment,
 has set the disposition of the SIGPIPE signal to ignore. SIGPIPE is a
 kluge for applications that don't check the result of the write/send
 family of system calls. Any well-written application should ignore it.
 
 
 -- 
 Michael Wojcik
 Technology Specialist, Micro Focus
 
 
 
 This message has been scanned for malware by Websense. www.websense.com
 __
 OpenSSL Project http://www.openssl.org
 User Support Mailing Listopenssl-users@openssl.org
 Automated List Manager   majord...@openssl.org

-- 
http://www.fastmail.fm - Same, same, but different...

__
OpenSSL Project http://www.openssl.org
User Support Mailing Listopenssl-users@openssl.org
Automated List Manager   majord...@openssl.org