暗号化ソフトウェアライブラリであるOpenSSLの拡張機能「Heartbeat」内で発覚した、情報漏洩の脆弱性を含んだバグ。セキュリティホールのひとつ。ハートブリード。
Googleなど、ネット上の約2/3のウェブサイトで使用されているとされる、OpenSSLの「バージョン1.0.1」の安全なデータの送受信の実行のために死活監視を行う「Heartbeat(RFC6520)」と呼ばれる拡張機能内で発覚した脆弱性。サーバーに保存されているユーザー名やパスワード、暗号鍵などが流出する恐れがある。
2014年4月、コーデノミコンによるセキュリティテストツール「Defensics」の改善中に発見された。また同社により「Heartbeat(心拍)」しているところから情報が漏れ出した(bleed:出血する)ことからこの名がつけられ、ハートから出血しているロゴが作成され、多くのメディアに取り上げられた*1。
SSLクライアントがデータとして必要な情報が入ったリクエストをサーバに送信し、サーバがそのデータを含んだレスポンスを返す機能(死活監視)。
2012年3月に正式リリースされた「バージョン1.0.1」より実装されており、約2年間に渡り脆弱性があったとされる。
正常な場合、ハートビートによるリクエストは必要な文字列とその文字列に対応するバイト数が指定されており、必要以上の情報を返す(レスポンス)することは無い。
しかし脆弱性を持つバージョンに実装されているハートビート機能には「リクエストされたままのバイト数に対してレスポンスしてしまう」というバグを持つため、悪意を持つ攻撃者がサーバに必要以上の文字列、バイト数のリクエストを送信することで、1度にメモリから最大64KBの余分なデータを取得できてしまう。そしてこの中に暗号化通信に利用している暗号鍵やログイン名、パスワードなどを含む場合があり、その行為を繰り返すことで攻撃者は望みの情報を手に入れるとされるが、足跡を残してしまう危険性もある。
脆弱性を持つバージョンは1.0.1から1.0.1fと1.0.2-betaであり、1.0.1gや1.0.0、0.9.8は安全である。