Skip to content
Vol. 1 · Ed. 2026
CyberGlossary
Entry № 529

Heartbleed (CVE-2014-0160)

审核人Cybersecurity entrepreneur & security researcher

Heartbleed (CVE-2014-0160) 是什么?

Heartbleed (CVE-2014-0160)2014 年 OpenSSL TLS 心跳扩展中的缓冲区越界读取漏洞,攻击者每次请求可读取最多 64 KB 进程内存,从而泄露密钥、会话与口令。


Heartbleed(CVE-2014-0160)于 2014 年 4 月披露,由 Google 的 Neel Mehta 与芬兰公司 Codenomicon 各自独立发现,是 OpenSSL 1.0.1 至 1.0.1f 在 TLS/DTLS 心跳扩展(RFC 6520)中缺失边界检查所致。心跳请求携带一段 payload 以及一个长度字段;有漏洞的代码直接信任攻击者提供的长度,而不与实际 payload 进行核对,于是服务器通过 memcpy 把多达 64 KB 的相邻堆内存复制进回复中。每次请求都会泄露一段新的内存——过程悄无声息、无需认证,且不会在受害者侧留下任何日志记录。

被暴露的内存中通常包含 RSA 私钥、会话 Cookie、用户名、口令以及已解密的消息正文。真实事件很快随之而来:加拿大税务局丢失了约 900 个纳税人社会保险号,Community Health Systems 数据泄露事件则通过一台有漏洞的 Juniper VPN 设备暴露了约 450 万份患者记录。由于 2014 年完全前向保密(Perfect Forward Secrecy)仍很少见,被窃取的私钥可让攻击者解密此前捕获的流量。修复版本在次日随 OpenSSL 1.0.1g 发布,会对长度进行校验。由于这种数据窃取无法被检测到,正确的补救还意味着轮换每一份证书与密钥,并使所有会话失效。

flowchart TD
  A[攻击者] -->|"心跳:1 字节 payload,声称 64 KB"| B[OpenSSL 1.0.1-1.0.1f]
  B --> C{是否将长度<br/>与 payload 核对?}
  C -->|"否(有漏洞)"| D["memcpy 读取 64 KB<br/>相邻堆内存"]
  D --> E[回复泄露 RSA 密钥、<br/>会话 Cookie、口令]
  E --> A
  C -->|"是(1.0.1g+)"| F[回复仅回送<br/>真实 payload]

示例

  1. 01

    攻击者读取知名 SaaS 的 TLS 私钥,用于解密已捕获的流量。

  2. 02

    大规模窃取受影响服务器上已认证用户的会话 Cookie。

常见问题

Heartbleed (CVE-2014-0160) 是什么?

2014 年 OpenSSL TLS 心跳扩展中的缓冲区越界读取漏洞,攻击者每次请求可读取最多 64 KB 进程内存,从而泄露密钥、会话与口令。 它属于网络安全的 漏洞 分类。

Heartbleed (CVE-2014-0160) 是什么意思?

2014 年 OpenSSL TLS 心跳扩展中的缓冲区越界读取漏洞,攻击者每次请求可读取最多 64 KB 进程内存,从而泄露密钥、会话与口令。

如何防御 Heartbleed (CVE-2014-0160)?

针对 Heartbleed (CVE-2014-0160) 的防御通常结合技术控制与运营实践,详见上方完整定义。

Heartbleed (CVE-2014-0160) 还有哪些其他名称?

常见的别称包括: CVE-2014-0160, OpenSSL 心跳漏洞。

相关术语