ghsa-7jrw-539f-x6vr(2026-07-02,moderate):openssl_encrypt 使用 aes-wrap-pad 加密模式时会出现内存破坏,典型表现是 zend_mm_heap corrupted。这是一个非常具体的触发条件,影响面取决于业务是否选用了这种少见的加密模式。

▲ 事件来源页面实时截图:php/php-src Security Advisories
影响与处置
确认代码中是否存在 AES-WRAP-PAD 模式的使用;未使用可降低优先级。建议随分支升级到最新补丁版本一并覆盖。
RFC 5649 的扩展开销
AES-WRAP-PAD(RFC 5649)在加密时会把明文长度按 8 字节向上取整,并前置 8 字节 AIV。openssl_encrypt 的输出缓冲区却按明文原始长度分配,没有计入这部分扩展开销,于是写入越界,触发 zend_mm_heap corrupted 并中止进程。
谁最容易碰到
使用 openssl_encrypt/openssl_decrypt 处理密钥封装的场景——如加密密钥导入导出、KMS 对接、JWE 封装。修复后按实际密文长度分配缓冲区。升级前如需临时规避,可避免让外部输入决定加密模式的参数。
端到端验证方式
升级后在测试环境跑一遍密钥封装的加解密闭环,覆盖明文长度不是 8 字节整数倍的用例——这正是触发越界的边界;再压测并发加解密,确认不再出现 zend_mm_heap corrupted 或进程异常退出。
不同分支的表现差异
各分支绑定的 OpenSSL 版本不同,越界可能表现为崩溃,也可能是静默截断。升级后除功能测试外,建议对密文长度做断言(应等于明文按 8 字节取整后再加 8),能更早发现异常。

▲ 官方公告页配图
关键信息
| 项目 | 内容 |
|---|---|
| 类目 | 安全漏洞 |
| 级别 | 中 |
| 日期 | 2026-07-02 |
| 关联编号 | GHSA-7jrw-539f-x6vr |
| 影响范围 | 使用 openssl_encrypt 的应用 |
| 核验状态 | 已官方确认 |
来源:https://github.com/php/php-src/security/advisories/GHSA-7jrw-539f-x6vr











