相关事件 · OpenSSL 安全公告 · 2026 年 1–9 月
2026 年 OpenSSL 高危漏洞对 PHP 意味着什么
PHP 的 openssl 和 curl 扩展调用的是系统的 OpenSSL 库。升级 PHP 不会升级 OpenSSL,这个库有自己的安全更新。
最近更新
2026 年 OpenSSL 高危公告
| CVE | 发布日期 | 问题 | 修复版本 |
|---|---|---|---|
| CVE-2025-15467 | 2026-01-27 | CMS (Auth)EnvelopedData 解析栈溢出,无需认证,可致拒绝服务,可能导致远程代码执行 | 3.6.1、3.5.5、3.4.4、3.3.6、3.0.19 |
| CVE-2026-45447 | 2026-06-09 | PKCS7_verify() 处理恶意 PKCS#7 / S/MIME 时的堆释放后使用 | 4.0.1、3.6.3、3.5.7、3.4.6、3.0.21 |
| CVE-2026-84782 | 2026-09-29 | DTLS 重传越界读取,可泄露堆内存或导致崩溃 | 4.0.3、3.6.5、3.5.9、3.4.8 |
我的 PHP 用的是哪个 OpenSSL?
# Which OpenSSL is PHP linked against?
php -i | grep -i -E '^openssl|OpenSSL Library|OpenSSL Header'
openssl version
# Distribution packages often backport fixes without changing the upstream number:
apt-cache policy openssl libssl3 # Debian / Ubuntu
rpm -q openssl openssl-libs # RHEL family怎么修复
- 更新发行版的 OpenSSL 包(libssl3 / openssl-libs),然后重启 PHP-FPM、Apache 和常驻进程,让它们加载新库。
- Docker 要基于最新的基础镜像标签重新构建,旧镜像里还是旧的 libssl。
- 自带 OpenSSL DLL 或库的集成环境,请安装厂商发布的新版本。
常见问题
升级 PHP 能修复 OpenSSL 漏洞吗?
通常不能。发行版的 PHP 包链接的是系统 libssl,所以要更新 OpenSSL 包。静态编译或自带 OpenSSL 的版本(部分 Windows 版和一键集成环境)需要等厂商发布新构建。
普通 PHP 网站会受影响吗?
取决于代码做了什么。CVE-2025-15467 和 CVE-2026-45447 涉及解析 CMS 或 PKCS#7 消息(比如 S/MIME),PHP 通过 openssl_cms_decrypt()、openssl_pkcs7_verify() 等函数提供这些功能。我们没有看到针对 PHP 的公开攻击路径报告,但无论如何都应该更新这个库。
发行版显示的 OpenSSL 版本号比较旧,是不是就有漏洞?
不一定。Debian、Ubuntu、RHEL 会在不改上游版本号的情况下回移修复,请在发行版的安全追踪页面查对应 CVE。
来源
出站链接将离开本站。本站不托管利用代码。
- OpenSSL Security Advisory, 27 January 2026 (CVE-2025-15467) — OpenSSL
- OpenSSL Security Advisory, 9 June 2026 (CVE-2026-45447) — OpenSSL
- OpenSSL Security Advisory, 29 September 2026 (CVE-2026-84782) — OpenSSL
- Vulnerabilities list — OpenSSL
- OpenSSL runtime configuration (openssl.cafile, openssl.capath) — PHP manual