[tor-relays] Long-term effect of Heartbleed on Tor
Tom van der Woerdt
info at tvdw.eu
Thu Apr 10 20:28:47 UTC 2014
Felix Büdenhölzer schreef op 10/04/14 22:13:
>> *However*, if there's a way to specify the data it sends back, that
>> wouldn't be a problem (I'm no legal specialist though). I have not yet
>> tested my theory, but sending a few extra bytes in the heartbeat
>> message (and of course incrementing 'length' in the 'ssl3_record_st'
>> struct) should do that. It would allow causing the server to return
>> data the client sent. If it's not sent back, the server isn't
>> vulnerable. No random memory is read as the server did in fact
>> allocate the memory, it's simply not supposed to use it.
> If I get you in the right way I think this is what you are asking for:
> https://github.com/FiloSottile/Heartbleed
> This guy is sending a string in and reads it back.
>
> BR
> Felix
>
Had a quick look at the code. It's almost doing what I wrote, though
it's still trying to actively exploit the issue by asking for 100 extra
bytes (bleed/heartbleed.go line 36, "len(payload)+100") which will be
unknown.
Anyway, I tested my thoughts from yesterday and it turns out it won't
work because the idea is flawed. I do wonder what happens when a second
ssl3_record_st frame is sent together with the heartbeat exploit. Would
you get the next frame back, as it'll be next in the stream? But that
would only always work if you can guarantee it's being read by OpenSSL
in the same recv() call.
Tom
More information about the tor-relays
mailing list