Описание
In PHP versions 8.2.* before 8.2.32, 8.3.* before 8.3.32, 8.4.* before 8.4.23, 8.5.* before 8.5.8, the AES-WRAP-PAD algorithm implementation in OpenSSL extension contains a buffer allocation flaw. The output buffer for the AES key-wrap-with-padding operation is sized from the plaintext length without accounting for RFC 5649 expansion. This may cause OpenSSL to write beyond allocated memory, corrupting heap metadata and triggering application abort.
Пакеты
| Пакет | Статус | Версия исправления | Релиз | Тип |
|---|---|---|---|---|
| php8.4 | fixed | 8.4.23-1 | package | |
| php8.2 | removed | package | ||
| php7.4 | removed | package | ||
| php7.4 | ignored | bullseye | package |
Примечания
https://github.com/php/php-src/security/advisories/GHSA-7jrw-539f-x6vr
https://github.com/php/php-src/issues/22186
https://github.com/php/php-src/commit/169226847426368c62992af43c2c39b0fdbff4d5 (php-8.4.23RC1)
php7.4/bullseye links OpenSSL 1.1.1w, which rejects AES *-wrap ciphers at
EVP_CipherInit (EVP_R_WRAP_MODE_NOT_ALLOWED) unless EVP_CIPHER_CTX_FLAG_WRAP_ALLOW
is set; php never sets it, so the undersized buffer in php_openssl_cipher_update()
is not reachable. Reachable only with OpenSSL 3.x.
Связанные уязвимости
In PHP versions 8.2.* before 8.2.32, 8.3.* before 8.3.32, 8.4.* before 8.4.23, 8.5.* before 8.5.8, the AES-WRAP-PAD algorithm implementation in OpenSSL extension contains a buffer allocation flaw. The output buffer for the AES key-wrap-with-padding operation is sized from the plaintext length without accounting for RFC 5649 expansion. This may cause OpenSSL to write beyond allocated memory, corrupting heap metadata and triggering application abort.
In PHP versions 8.2.* before 8.2.32, 8.3.* before 8.3.32, 8.4.* before 8.4.23, 8.5.* before 8.5.8, the AES-WRAP-PAD algorithm implementation in OpenSSL extension contains a buffer allocation flaw. The output buffer for the AES key-wrap-with-padding operation is sized from the plaintext length without accounting for RFC 5649 expansion. This may cause OpenSSL to write beyond allocated memory, corrupting heap metadata and triggering application abort.
ext/openssl: Memory corruption (zend_mm_heap corrupted) in openssl_encrypt with AES-WRAP-PAD