Re: Recent vendor SSL renegotiation patches break PostgreSQL

From: Magnus Hagander <magnus(at)hagander(dot)net>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Bruce Momjian <bruce(at)momjian(dot)us>, Chris Campbell <chris_campbell(at)mac(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Recent vendor SSL renegotiation patches break PostgreSQL
Date: 2010-02-22 16:42:37
Message-ID: 9837222c1002220842t5df05facnece25c60347813ab@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

2010/2/20 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
> Bruce Momjian <bruce(at)momjian(dot)us> writes:
>> Tom Lane wrote:
>>> Chris Campbell <chris_campbell(at)mac(dot)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 Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2010-02-22 16:54:31 Re: Recent vendor SSL renegotiation patches break PostgreSQL
Previous Message Tom Lane 2010-02-22 15:42:08 Re: [COMMITTERS] Re: pgsql: Speed up CREATE DATABASE by deferring the fsyncs until after