OpenSSL
2014年4月7日に、OpenSSLの1.0.2-betaや1.0.1系列で、TLSのheartbeat拡張について、メモリの扱いにバグがあると発表された 。このバグを利用することで、ハートビート1回ごとに64キロバイトのメモリを読み取ることが可能となる。この問題のCVE番号はCVE-2014-0160である。
この脆弱性は2011年12月31日から存在し、OpenSSL 1.0.1がリリースされた2012年3月14日以降、脆弱性のあるOpenSSLが広く使われている。サーバ側のメモリを読むことで、機密情報にアクセスが可能となり、場合によっては秘密鍵を盗まれて暗号化が無力となり、中間者攻撃を仕掛けることが可能となる。
ユーザーに関する非公開の情報、たとえばセッションクッキーやパスワードも漏れうるため、他者になりすますことも可能となってしまう。脆弱性が判明した段階で、認証局から証明を受けたHTTPSサーバのうち、ざっと17%から半分程度が影響するものと見られている。
基本的な対策はハートビートを使用しない(-DOPENSSL_NO_HEARTBEATS オプションを付けて再コンパイルする)か、脆弱性を修正したバージョン(1.0.1g以降)への更新となる。
OpenSSLは、NIST(アメリカ国立標準技術研究所)のCryptographic Module Validation Program(英語版)によるコンピュータセキュリティ標準であるFIPS 140-2において承認された初めてのオープンソースプログラムである。ただしOpenSSL自体が検証されたのではなく、OpenSSL FIPS Object Moduleという標準対応用のソースコードを組み込んだものが検証されている。このモジュールはOpenSSL 1.0.1/1.0.2で使用可能。
最初の承認は2006年1月に行われた。同年7月には「承認されたモジュールによる外部のプログラムとの相互作用に関し疑問が提示された」ため、いったんは撤回されたものの、翌2007年に再び承認が行われた。