3 ms·
Sure, it's simple if you realize that memory heaps are sequential and the server's private key can be found after the address of a short-lived packet buffer...
by nyellin 13y ago
Sure, it's simple if you realize that memory heaps are sequential and the server's private key can be found after the address of a short-lived packet buffer... It is not trivial explaining all that with simple analogy my grandmother would understand.
- masklinn 13y ago> it's simple if you realize that memory heaps are sequential and the server's private key can be found after the address of a short-lived packet buffer… Your comment seems to imply an out of bounds access (read past the allocated buffer), but heartbleed has no out of bounds access. Instead, it's a problem of malloc (and even more so openssl's freelist scheme) returning non-zeroed memory which can (and often does) hold previously allocated data combined with read(2) not overwriting the whole buffer and not checking read(2)'s return value, which means the aforementioned previously allocated data gets sent back.
- deleted 13y ago[deleted]
- gizmo686 13y agoI had no problem explaining it to my non-technical family members. The way I described it is that the server would return whatever happened to be there.