[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2215: mitigate heartbleed vulnerability

Tahoe-LAFS trac at tahoe-lafs.org
Tue Apr 15 17:41:54 UTC 2014


#2215: mitigate heartbleed vulnerability
-------------------------+-------------------------------------------------
     Reporter:  daira    |      Owner:  zooko
         Type:  defect   |     Status:  new
     Priority:           |  Milestone:  1.11.0
  critical               |    Version:  1.10.0
    Component:  code     |   Keywords:  security integrity confidentiality
   Resolution:           |  capleak pyopenssl cffi packaging review-needed
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by zooko):

 Replying to [comment:9 zooko]:
 > There is a proposal in this email for a way to convey the information
 that a particular package has the heartbleed fix: [//pipermail/tahoe-
 dev/2014-April/008988.html]. However, it requires cooperation from the
 pyOpenSSL devs.

 Here is the core of the proposal:

 Here's an idea that could make a cleaner way for both Tahoe-LAFS and also
 other code that uses pyOpenSSL to deal with this:

 The pyOpenSSL maintainers could make new releases of pyOpenSSL, named
 "0.14.1" and (for people like us who can't upgrade to the cffi-based build
 system yet) "0.13.1". The ".1"'s in these version numbers are being used
 as a ''signal'', visible within the Python packaging metadata, that this
 particular package was built by someone who is aware of heartbleed and
 they intended to remove the heartbleed vuln from this package. Then Tahoe-
 LAFS (and Foolscap, and Twisted, etc.) can depend on "pyOpenSSL == 0.13.1,
 >= 0.14.1", to indicate their desire to listen to this signal.

 Then the pyOpenSSL setup.py can help the builder of the package send the
 correct signal, by checking the version number of OpenSSL and refusing to
 build if it is one of the version numbers that had (in the upstream
 OpenSSL release) the heartbleed vuln.

 Now, Debian and Ubuntu ship OpenSSL libraries which have a patch to fix
 the vuln but which still report the original upstream OpenSSL version
 numbers. No problem! When they build pyOpenSSL v0.13.1 and v0.14.1
 packages, they will patch out that check that pyOpenSSL's setup.py does
 (or perhaps pyOpenSSL will offer a "--affirm-heartbleed-fix-is-present"
 build-time option for this), in order for them to correctly send the
 signal that their !Debian/Ubuntu "python-openssl 0.13.1" or "python-
 openssl 0.14.1" package does ''not'' have the vuln.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2215#comment:10>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list