The object is OpenSSL's TLS heartbeat in versions 1.0.1 through 1.0.1f. A heartbeat is a keep-alive ping: one side sends a small payload and a length, the other is supposed to send that payload back. OpenSSL allocated the reply from the length field and copied that many bytes from memory, without checking that the payload it had actually received was that long. Anyone who could speak TLS to a vulnerable service could ask for up to 64 kilobytes of whatever was sitting next to the message — private keys, passwords, the contents of other people's sessions — and could ask again. The bug sat in released OpenSSL from 14 March 2012 until 7 April 2014. It did not write a log line.
Domain: a cryptographic library that the public internet treats as its TLS stack, maintained by volunteers, used by Apache and nginx and by appliances that take years to patch. The comparison class is any keep-alive or length-prefixed message in software that holds keys for other people's traffic.
If that reading is right, a vendor shipping OpenSSL would not count as evidence that someone is maintaining TLS. A donation drive after a named CVE would not count as the repair. A keep-alive extension that almost nobody needed for ordinary HTTPS would not ship on by default. "We patched OpenSSL" would not count as incident response until the keys that sat in that process were replaced. A second TLS library in wide use would be a different first rule from paying the first library's maintainers.
Ostensive specimen: The Heartbleed Bug, Codenomicon's public explainer, still live (page updated 7 March 2025). CVE-2014-0160. OpenSSL 1.0.1 through 1.0.1f vulnerable; 1.0.1g not; the 1.0.0 and 0.9.8 branches not. Introduced December 2011; in the wild with OpenSSL 1.0.1 on 14 March 2012; fixed 7 April 2014. Not a flaw in the TLS specification — a programming mistake in OpenSSL's handling of RFC 6520. No trace in logs. The 64k limit is per heartbeat, not a cap on the attack. Combined Apache and nginx share of active sites was over 66 percent in Netcraft's April 2014 survey. https://heartbleed.com/
OpenSSL Security Advisory, 7 April 2014, "TLS heartbeat read overrun (CVE-2014-0160)." "A missing bounds check in the handling of the TLS heartbeat extension can be used to reveal up to 64k of memory to a connected client or server." Only 1.0.1 and 1.0.2-beta, including 1.0.1f and 1.0.2-beta1. Thanks to Neel Mehta of Google Security for discovering the bug and to Adam Langley and Bodo Moeller for the fix. Upgrade to 1.0.1g, or recompile with -DOPENSSL_NO_HEARTBEATS. https://www.openssl.org/news/secadv/20140407.txt
CISA alert TA14-098A, last revised 5 October 2016: same versions, 64k chunks, keys, passwords, protected content, and leftover addresses. Any keys generated on a vulnerable version "should be considered compromised and regenerated" after the patch. CERT/CC Vulnerability Note VU#720951, 8 April 2014. https://www.cisa.gov/news-events/alerts/2014/04/08/openssl-heartbleed-vulnerability-cve-2014-0160 https://www.kb.cert.org/vuls/id/720951/
RFC 6520, February 2012: the Heartbeat Extension is a keep-alive without a renegotiation, and a way to discover path MTU for DTLS. Heartbleed.com already says the protocol is not the defect. https://www.rfc-editor.org/rfc/rfc6520.html
What the money record already names, not a story about any one coder. Steve Marquess, OpenSSL Software Foundation, "Of Money, Responsibility, and Pride," 12 April 2014: OSF typically receives about US$2,000 a year in outright donations; in five years it had never taken in over $1 million in gross revenues annually; the week after disclosure, about two hundred donations totaling about US$9,000. "There should be at least a half dozen full time OpenSSL team members, not just one, able to concentrate on the care and feeding of OpenSSL without having to hustle commercial work." The ones who should contribute "are the commercial companies and governments who use OpenSSL extensively and take it for granted." http://veridicalsystems.com/blog/of-money-responsibility-and-pride/index.html
Linux Foundation, 24 April 2014: the Core Infrastructure Initiative, "the industry's collective response to the Heartbleed crisis." Founding backers: Amazon Web Services, Cisco, Dell, Facebook, Fujitsu, Google, IBM, Intel, Microsoft, NetApp, Rackspace, VMware, and the Foundation. OpenSSL is the first project under consideration for fellowships, outside reviews, and faster patch response. "The OpenSSL project has in past years received about $2,000 per year in donations." Ars Technica, same day: each of those companies pledged at least $100,000 a year for at least three years. https://web.archive.org/web/20140702125448/http://www.linuxfoundation.org/news-media/announcements/2014/04/amazon-web-services-cisco-dell-facebook-fujitsu-google-ibm-intel https://arstechnica.com/information-technology/2014/04/tech-giants-chastened-by-heartbleed-finally-agree-to-fund-openssl/ Follow-up, 29 April 2014: https://www.linuxfoundation.org/blog/blog/never-let-a-good-crisis-go-to-waste-core-infrastructure-initiative CII FAQ, as archived July 2014: first round OpenSSL, OpenSSH, and NTP; OpenSSL to receive funds for two full-time core developers. https://web.archive.org/web/20140708094611/http://www.linuxfoundation.org/programs/core-infrastructure-initiative/faq
Exploitation, not a hypothetical. CBC, 14–15 April 2014: the Canada Revenue Agency said social insurance numbers of about 900 taxpayers were removed from CRA systems by someone exploiting Heartbleed, over a six-hour period. Commissioner Andrew Treusch notified the Privacy Commissioner on 11 April. The RCMP asked CRA to hold the public notice until Monday. https://www.cbc.ca/news/business/heartbleed-bug-rcmp-asked-revenue-canada-to-delay-news-of-sin-thefts-1.2609192
A fork, not a donation. OpenBSD's innovations list: LibreSSL started 13 April 2014 as a fork of OpenSSL 1.0.1g. OpenBSD 5.6: "No support for the questionable DTLS heartbeat extension." https://www.openbsd.org/innovations.html https://www.openbsd.org/56.html
The CII site, later: the initiative "has been replaced by the Open Source Security Foundation (OpenSSF)." OpenSSF is live. https://web.archive.org/web/20210724035439/https://www.coreinfrastructure.org/ https://openssf.org/
This post is the public case, not a recap of an essay.