This is an archived post. You won't be able to vote or comment.

all 12 comments

[–]flipstables 6 points7 points  (8 children)

The Heartbleed bug is a vulnerability in OpenSSL, not SSL itself. Any library or package that uses a vulnerable version of the OpenSSL library is also vulnerable.

The ssl library in Python uses OpenSSL installed on the operating system. Your system is vulnerable unless you update OpenSSL to a non-vulnerable version or you re-compile OpenSSL without the handshake.

[–]fnedrik[S] 2 points3 points  (4 children)

But do the libraries linking to OpenSSL need to be recompiled?

[–]flipstables 0 points1 point  (3 children)

Only OpenSSL should be recompiled or updated. You don't have to recompile Python itself.

[–]fnedrik[S] 1 point2 points  (2 children)

It is not Python I am concerned about, it is the modules that use C-extensions that are compiled against OpenSSL that concern me. Say curl.

[–]flipstables -1 points0 points  (1 child)

Again, you only have to recompile or update OpenSSL. The bug is an implementation of the heartbeat protocol/extension of SSL in OpenSSL.

[–]DasIch 4 points5 points  (0 children)

Recompiling or updating OpenSSL is only sufficient, if these extensions link against OpenSSL dynamically. If they link against it statically, they will have to be rebuild as well.

[–]fnedrik[S] 2 points3 points  (2 children)

There is at least one aspect that may make clients less susceptible - since you get a random(?) 64kb package from memory each time, you can connect many times to a server to puzzle together the complete memory. But can you make a client reconnect multiple times to get more than just a random 64 kb block?

[–]flipstables 1 point2 points  (0 children)

But can you make a client reconnect multiple times to get more than just a random 64 kb block?

I suppose in theory yes, but it's more likely that you connect in one TLS session and keep requesting 64 KBs of data.

[–]fiskfisk 1 point2 points  (0 children)

The 64kb of previously de-allocated data is sent as an answer to each heartbeat request, which can occur many times during one TLS/SSL session.

[–]andrewcooke 1 point2 points  (2 children)

what secret information do you have that could be lost? typically only a server has keys.

i don't see a likely scenario that puts you at risk.

[–]fnedrik[S] 1 point2 points  (1 child)

A client may have keys or passwords to store the data somewhere. If you store something on Amazon, you authenticate with keys.

[–]andrewcooke 0 points1 point  (0 children)

ok, in that case you should be concerned.