Re: Recent vendor SSL renegotiation patches break PostgreSQL - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: Recent vendor SSL renegotiation patches break PostgreSQL
Date
Msg-id 9837222c1002220842t5df05facnece25c60347813ab@mail.gmail.com
Whole thread Raw
In response to Re: Recent vendor SSL renegotiation patches break PostgreSQL  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Recent vendor SSL renegotiation patches break PostgreSQL
List pgsql-hackers
2010/2/20 Tom Lane <tgl@sss.pgh.pa.us>:
> Bruce Momjian <bruce@momjian.us> writes:
>> Tom Lane wrote:
>>> Chris Campbell <chris_campbell@mac.com> writes:
>>>> Is there a way to detect when the SSL library has renegotiation disabled?
>>>
>>> Probably not.  The current set of emergency security patches would
>>> certainly not have exposed any new API that would help us tell this :-(
>>>
>>> If said patches were done properly they'd have also turned an
>>> application-level renegotiation request into a no-op, instead of
>>> breaking apps by making it fail --- but apparently they were not done
>>> properly.
>
>> Is there anything remaining to do on this issue?
>
> I'm not sure.  My impression is that by the time we had anything in the
> field, there will be real fixes for the SSL renegotiation problem.
> So all we'd be accomplishing is to weaken security for people who have
> those fixes, to cater to people who are using copies of openssl they'd
> obtained in the past couple of months and then not updated to latest.
> However, if anyone thinks that the SSL problem isn't going to get fixed
> promptly, maybe it needs more consideration.

The problem with this is, I think, that there are "semi-patched"
versions of OpenSSL out there, that simply *break*. Instead of not
doing renegotiation when we ask for it, they break it and return an
error, thus canceling the connection. Correct?

If so, shouldn't we try to disable renegotiation for all versions
*before* it was properly fixed?

Which today means all versions released. The proper fix is in 0.9.8m,
which is currently in beta. At least that's my understanding.


The way I read it, the code now does:
* If the user has an old version of openssl, exposes the user to the
security issue and makes the connection insecure
* OpenSSL 0.9.8l, breaks the connection whenever renegotiation
happens, but doesn't compromise security
* OpenSSL 0.9.8m-beta, does the right thing.

Do we have any idea of what people like RHEL are doing wrt
backpatching these things?

-- Magnus HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [COMMITTERS] Re: pgsql: Speed up CREATE DATABASE by deferring the fsyncs until after
Next
From: Tom Lane
Date:
Subject: Re: Recent vendor SSL renegotiation patches break PostgreSQL